วิธีแปลงข้อความเป็น hex
- พิมพ์หรือวางข้อความของคุณ รองรับทุกภาษา รวมถึงภาษาไทยและอีโมจิ
- เลือกการเข้ารหัสอักขระ (UTF-8 คือมาตรฐาน) ตัวพิมพ์ และวิธีคั่นไบต์ ติ๊ก ขึ้นบรรทัดใหม่ทุก 16 ไบต์ เพื่อจัดรูปแบบแบบ hex dump
- คัดลอกสตริง hex หรือดาวน์โหลดเป็นไฟล์ข้อความ
ข้อความถูกแปลงเป็น hex อย่างไร
คอมพิวเตอร์เก็บข้อความเป็นไบต์ เครื่องมือนี้จะหาค่าไบต์ของอักขระแต่ละตัวตามการเข้ารหัสที่เลือก แล้วเขียนเป็นเลขฐานสิบหกสองหลัก ใน ASCII และ UTF-8 A คือ 65 = 41, a คือ 97 = 61 และช่องว่างคือ 32 = 20 ดังนั้น “Hi!” จึงกลายเป็น 48 69 21
| อักขระ | ฐานสิบ | Hex |
|---|---|---|
A … Z | 65 … 90 | 41 … 5A |
a … z | 97 … 122 | 61 … 7A |
0 … 9 | 48 … 57 | 30 … 39 |
| ช่องว่าง | 32 | 20 |
! | 33 | 21 |
| ขึ้นบรรทัดใหม่ | 10 | 0A |
เปรียบเทียบ UTF-8, Latin-1 และ UTF-16
อักขระตัวเดียวกันอาจได้ไบต์ต่างกันขึ้นอยู่กับการเข้ารหัส UTF-8 เป็นตัวเลือกที่เหมาะสมสำหรับเว็บ JSON และไฟล์ส่วนใหญ่ ใช้การเข้ารหัสอื่นเฉพาะเมื่อระบบปลายทางต้องการเท่านั้น สำหรับภาษาไทย UTF-8 ใช้ 3 ไบต์ต่ออักขระ เช่น “ก” คือ E0 B8 81
| ข้อความ | UTF-8 | Windows-1252 | UTF-16 LE |
|---|---|---|---|
A | 41 | 41 | 41 00 |
é | C3 A9 | E9 | E9 00 |
€ | E2 82 AC | 80 | AC 20 |
| 😀 | F0 9F 98 80 | ไม่รองรับ | 3D D8 00 DE |
แปลง string เป็น hex ในโค้ด
- Python:
'Hello'.encode().hex()ได้48656c6c6fและ.hex(' ')จะเพิ่มช่องว่างให้ - Node.js:
Buffer.from('Hello').toString('hex') - JavaScript บนเบราว์เซอร์:
[...new TextEncoder().encode('Hello')].map((b) => b.toString(16).padStart(2, '0')).join('') - Linux และ macOS:
echo -n 'Hello' | xxd -p
คำถามที่พบบ่อย
แปลงข้อความเป็น hex กับ ASCII เป็น hex เหมือนกันไหม?
สำหรับตัวอักษรภาษาอังกฤษ ตัวเลข และเครื่องหมายวรรคตอน เหมือนกัน: ASCII และ UTF-8 ให้ไบต์เดียวกัน แต่อักขระอย่าง é, ß, Ж, 中, อักษรไทย หรืออีโมจิไม่ได้อยู่ใน ASCII โดย UTF-8 จะเข้ารหัสแต่ละตัวเป็น 2–4 ไบต์
ทำไมอักขระตัวเดียวจึงได้ hex หลายไบต์?
ใน UTF-8 มีเพียงอักขระ ASCII ที่ใช้ไบต์เดียว é จะกลายเป็น C3 A9, € กลายเป็น E2 82 AC อักษรไทยใช้ 3 ไบต์ และอีโมจิส่วนใหญ่ใช้ 4 ไบต์ เลือก UTF-16 หรือ Latin-1 หากระบบปลายทางต้องการการเข้ารหัสเหล่านั้น
ควรใช้ตัวคั่นแบบไหน?
ไม่ใช้ตัวคั่นสำหรับค่า hash และสตริงแบบกระชับ ใช้ช่องว่างสำหรับ hex dump ที่อ่านง่าย ใช้โคลอนสำหรับ MAC address และ fingerprint ของใบรับรอง ใช้ 0x48, 0x65 สำหรับอาร์เรย์ในภาษา C, C# หรือ Java และใช้ \x48 สำหรับ string literal ในภาษา C, Python หรือ shell script
แปลง hex กลับเป็นข้อความได้อย่างไร?
กด สลับ: hex จะย้ายไปที่ช่องป้อนข้อมูลและถูกถอดรหัสด้วยการเข้ารหัสเดียวกัน ตัวถอดรหัสรองรับตัวคั่นทุกแบบที่มีให้เลือกในหน้านี้