แปลง Base64 เป็น Hex
แปลงระหว่าง Base64 และเลขฐานสิบหก
Base64
Hex
การแปลง Base64 เป็น Hex คืออะไร?
การแปลง Base64 เป็น hex คือการเปลี่ยนรูปแบบข้อมูลระหว่างสองวิธีการเข้ารหัสไบนารีเป็นข้อความที่ใช้งานทั่วไป Base64 แทนข้อมูลไบนารีด้วยตัวอักษร ASCII 64 ตัว (A-Z, a-z, 0-9, +, /) โดยเข้ารหัสทุก 3 ไบต์เป็น 4 ตัวอักษร ส่วนเลขฐานสิบหกแทนแต่ละไบต์ด้วยตัวอักษร 2 ตัวจากอักษร 16 สัญลักษณ์ (0-9, a-f) การแปลงระหว่างรูปแบบเหล่านี้เป็นกระบวนการสองขั้นตอน: ถอดรหัสสตริง Base64 เป็นไบต์ดิบ จากนั้นเข้ารหัสไบต์เหล่านั้นในรูปแบบเป้าหมาย
สัญกรณ์เลขฐานสิบหกเป็นรูปแบบมาตรฐานสำหรับข้อมูลไบนารีในการเขียนโปรแกรมระดับต่ำ วิทยาการเข้ารหัส และโปรโตคอลเครือข่าย แต่ละตัวอักษร hex ตรงกับ nibble 4 บิต ทำให้อ่านค่าไบต์แต่ละตัวได้ตรงไปตรงมา ตัวอย่างเช่น hash SHA-256 มักแสดงเป็นสตริง hex 64 ตัวอักษรเสมอ ในทางตรงข้าม Base64 ได้รับการปรับให้กะทัดรัด — hash เดียวกันใช้เพียง 44 ตัวอักษรใน Base64 — และเป็นการเข้ารหัสมาตรฐานสำหรับไฟล์แนบอีเมล (MIME) data URI และ API payload
ทั้งสองการเข้ารหัสถูกกำหนดใน RFC 4648 การแปลงระหว่างทั้งสองไม่สูญเสียข้อมูล: ไม่มีข้อมูลที่เพิ่มหรือลบออก มีเพียงการแสดงผลเป็นข้อความเท่านั้นที่เปลี่ยน ทำให้การแปลง Base64 เป็น hex เป็นการดำเนินการปกติเมื่อดีบัก payload ที่เข้ารหัส ตรวจสอบลายนิ้วมือใบรับรอง หรือยืนยัน hash output ในระบบต่างๆ ที่ใช้รูปแบบการแสดงผลต่างกัน
ทำไมต้องใช้เครื่องมือแปลง Base64 เป็น Hex นี้?
เครื่องมือนี้แปลงระหว่าง Base64 และเลขฐานสิบหกโดยตรงในเบราว์เซอร์ของคุณ ไม่มีข้อมูลออกจากเครื่องของคุณ และการแปลงเกิดขึ้นแบบเรียลไทม์ขณะที่คุณพิมพ์
กรณีการใช้งานแปลง Base64 เป็น Hex
การเปรียบเทียบ Base64 กับเลขฐานสิบหก
ทั้ง Base64 และเลขฐานสิบหกแปลงข้อมูลไบนารีเป็นข้อความที่พิมพ์ได้ แต่มีการแลกเปลี่ยนระหว่างความกะทัดรัดและความอ่านง่ายต่างกัน ตารางด้านล่างสรุปความแตกต่างหลัก
| คุณสมบัติ | Base64 | Hexadecimal |
|---|---|---|
| ชุดอักษร | A-Z a-z 0-9 + / = | 0-9 a-f |
| บิตต่อตัวอักษร | 6 | 4 |
| ขนาดที่เพิ่มขึ้น | ~33% มากกว่าดิบ | 100% มากกว่าดิบ |
| ความอ่านง่าย | กะทัดรัดแต่อ่านยาก | แต่ละไบต์เห็นได้ชัดเป็น 2 ตัวอักษร |
| การใช้งานหลัก | อีเมล, data URI, API | Crypto hash, MAC address, สี |
| ข้อกำหนด | RFC 4648 | IEEE 754, RFC 4648 sec 8 |
ตัวอย่างการแปลง
ตารางด้านล่างแสดงลำดับไบต์เดียวกันในรูปแบบ Base64 และเลขฐานสิบหก สังเกตว่าผลลัพธ์ hex มีความยาวเป็นสองเท่าของจำนวนไบต์เสมอ ขณะที่ความยาว Base64 เท่ากับ ceil(byteCount / 3) * 4
| อินพุต (ข้อความ / ไบต์) | Base64 | Hex |
|---|---|---|
| Hello | SGVsbG8= | 48656c6c6f |
| AB | QUI= | 4142 |
| 0xFF | MHhGRg== | 30784646 |