1. ไบต์ถึงทศนิยม
ใช้การแปลงประเภท (int) โดยตรง
/** ไบต์ถึงทศนิยม*/ สาธารณะคงที่ int byte2int (byte b) {int r = (int) b; Return R; -2. ทศนิยมถึงไบต์
ใช้การแปลงประเภท (ไบต์) โดยตรง
/** ทศนิยมถึงไบต์*/ สาธารณะคงที่ไบต์ int2Byte (int i) {byte r = (ไบต์) i; Return R; -3. อาร์เรย์ไบต์ไปยังสตริงเลขฐานสิบหก
สำหรับแต่ละไบต์ก่อนอื่นให้ดำเนินการเดียวกันกับ 0xff จากนั้นใช้ฟังก์ชัน integer.tohexstring () หากผลลัพธ์เป็นเพียง 1 บิตคุณต้องเพิ่ม 0 ด้านหน้า
/** byte array ไปยัง hex string*/ สตริงคงที่สาธารณะ bytes2hexstring (byte [] b) {string r = ""; สำหรับ (int i = 0; i <b.length; i ++) {string hex = integer.tohexstring (b [i] & 0xff); if (hex.length () == 1) {hex = '0' + hex; } r += hex.touppercase (); } return r; -4. สตริงเลขฐานสิบหกถึงอาร์เรย์ไบต์
สิ่งนี้ซับซ้อนมากขึ้น ตัวละครหกเหลี่ยมแต่ละตัวคือ 4 บิตและหนึ่งไบต์คือ 8 บิตดังนั้นตัวละครหกสิบสองตัวจะถูกแปลงเป็น 1 ไบต์ สำหรับตัวละครตัวแรกให้แปลงเป็นไบต์แล้วเลื่อนไปทางซ้าย 4 บิตจากนั้นทำหรือทำงานกับไบต์ตัวละครตัวที่สองเพื่อให้ตัวละครทั้งสองถูกแปลงเป็น 1 ไบต์
/** อักขระจะถูกแปลงเป็น BYTE*/ Private Static Byte Chartobyte (Char C) {return (byte) "0123456789abcdef" .indexof (c); } /** hex string ไปยัง byte array* / public static byte [] hexstring2bytes (string hex) {ถ้า (hex == null) || (hex.equals ("")) {return null; } อื่นถ้า (hex.length ()%2! = 0) {return null; } else {hex = hex.touppercase (); int len = hex.length ()/2; ไบต์ [] b = ไบต์ใหม่ [len]; ถ่าน [] hc = hex.tochararray (); สำหรับ (int i = 0; i <len; i ++) {int p = 2*i; B [i] = (ไบต์) (Chartobyte (HC [P]) << 4 | Chartobyte (HC [P+1])); } return b; -5. เพื่อแปลงอาร์เรย์ไบต์เป็นสตริง
ใช้สตริงใหม่ () โดยตรง
/** byte array เป็น string*/ สตริงคงที่สาธารณะ bytes2string (byte [] b) พ่นข้อยกเว้น {string r = สตริงใหม่ (b, "utf-8"); Return R; -6. สตริงไปที่อาร์เรย์ไบต์
ใช้ getBytes () โดยตรง
/** สตริงไปยังอาร์เรย์ไบต์*/ ไบต์คงที่สาธารณะ [] String2Bytes (สตริง s) {byte [] r = s.getBytes (); Return R; -7. สตริง hexadecimal to String
แปลงเป็นไบต์ [] ก่อนจากนั้นแปลงเป็นสตริง
/** hexstring ถึงสตริง*/ สตริงคงที่สาธารณะ hex2string (สตริง hex) โยนข้อยกเว้น {string r = bytes2string (hexstring2bytes (hex)); Return R; -8. สตริงถึง hexadecimal String
แปลงเป็นไบต์ [] ก่อนจากนั้นแปลงเป็นสตริงเลขฐานสิบหก
/** สตริงไปที่ hexadecimal String*/ String String สาธารณะ String2HexString (String S) พ่นข้อยกเว้น {String R = Bytes2Hexstring (String2Bytes (S)); Return R; -ฟังก์ชั่นหลัก:
โมฆะคงที่สาธารณะหลัก (สตริง [] args) โยนข้อยกเว้น {byte b1 = (ไบต์) 45; System.out.println ("1. ไบต์ถึงทศนิยม:" + byte2int (b1)); int i = 89; System.out.println ("2.1 ถึงไบต์ถึงไบต์:" + int2byte (i)); ไบต์ [] b2 = ไบต์ใหม่ [] {(ไบต์) 0xff, (ไบต์) 0x5f, (ไบต์) 0x6, (ไบต์) 0x5a}; System.out.println ("3. อาร์เรย์ไบต์ไปยังสตริงเลขฐานสิบหก:" + bytes2hexstring (B2)); สตริง s1 = สตริงใหม่ ("1da47c"); System.out.println ("4.16% สตริงไปยังอาร์เรย์ไบต์:" + array.toString (hexstring2Bytes (S1)))); System.out.println ("5. อาร์เรย์ไบต์ถึงสตริง:" + bytes2string (b2)); System.out.println ("6. สตริงไปยังอาร์เรย์ไบต์:" + array.toString (String2Bytes (S1))); System.out.println ("7.16% สตริงเป็นสตริง:" + hex2string (S1)); สตริง s2 = สตริงใหม่ ("สวัสดี!"); System.out.println ("8. สตริงไปที่ hexadecimal string:" + string2hexstring (S2)); -ผลการทำงาน:
1. ไบต์ถึงทศนิยม: 452.1 ทศนิยมถึงไบต์: 893. อาร์เรย์ไบต์ไปยังสตริงเลขฐานสิบหก: FF5F065A4 สตริง Hexadecimal ถึงอาร์เรย์ไบต์: [29, -92, 124] 5 อาร์เรย์ไบต์เป็นสตริง:? _ z6 สตริงถึงอาร์เรย์ไบต์: [49, 68, 65, 52, 55, 67] 7 สตริง Hexadecimal ถึง String:? | 8 สตริงไปที่ hexadecimal String: 48656C6C6F21
บทความข้างต้นกล่าวถึงการแปลงร่วมกันระหว่างไบนารีทศนิยมเลขฐานสิบหกและสตริงเป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น