เครื่องมือนี้ทำอะไร
เครื่องมือนี้แสดงไบต์ที่อยู่เบื้องหลังข้อความ และแปลงไบต์กลับเป็นข้อความ พิมพ์คำแล้วดูเป็นฐานสอง (01001000 01101001) ฐานสิบหก (48 69) ฐานสิบ (72 105) หรือฐานแปด (110 151) วางชุดไบต์จาก packet dump, ดีบักเกอร์ หรือแบบฝึกหัดการบ้าน แล้วอ่านกลับเป็นข้อความได้
การแปลงทั้งหมดผ่าน UTF-8 จึงใช้ได้กับทุกภาษาและอีโมจิ ไม่ใช่แค่ ASCII ธรรมดา ทำให้เห็นได้ง่ายว่าทำไม 你好 ยาวหกไบต์ หรือทำไมอีโมจินับเป็นสี่ไบต์ในคอลัมน์ฐานข้อมูล
วิธีใช้งาน
- เลือก ข้อความ → ไบต์ เพื่อเข้ารหัส หรือ ไบต์ → ข้อความ เพื่อถอดรหัส
- เลือกรูปแบบตัวเลข: ฐานสอง hex ฐานสิบ หรือฐานแปด
- ขณะเข้ารหัส เลือกตัวคั่นระหว่างไบต์ (ช่องว่าง ไม่มี จุลภาค หรือขึ้นบรรทัดใหม่) และเลือกว่าตัวอักษร hex เป็นตัวพิมพ์ใหญ่หรือไม่
- พิมพ์หรือวางอินพุต ผลลัพธ์จะอัปเดตขณะพิมพ์ และคัดลอกหรือดาวน์โหลดได้
กฎการถอดรหัส
ขณะถอดรหัส เครื่องมือยืดหยุ่นเรื่องรูปแบบการจัดวาง:
- ไบต์คั่นด้วยช่องว่าง จุลภาค เซมิโคลอน หรือการขึ้นบรรทัดใหม่ ผสมกันอย่างไรก็ได้
- คำนำหน้าที่ใช้บ่อยจะถูกตัดออก:
0x,\xและ%สำหรับ hex,0bสำหรับฐานสอง,0oหรือ\สำหรับฐานแปด - ตัวเลขยาว ๆ ที่ไม่มีตัวคั่นจะถูกแบ่งเป็นไบต์ความกว้างคงที่: 8 หลักสำหรับฐานสอง 2 หลักสำหรับ hex และ 3 หลักสำหรับฐานแปดหรือฐานสิบ
- ค่าที่เกิน 255 หรือตัวเลขที่ไม่อยู่ในรูปแบบนั้นจะถูกแจ้งพร้อมบรรทัดและคอลัมน์
ตัวอย่าง
การเข้ารหัส Hi 你好 เป็นฐานสองจะได้เก้าไบต์: สองไบต์สำหรับ Hi หนึ่งไบต์สำหรับช่องว่าง และสามไบต์สำหรับอักษรจีนแต่ละตัว ข้อความเดียวกันในรูป hex คือ 48 69 20 e4 bd a0 e5 a5 bd ซึ่งตรงกับที่คุณจะเห็นใน hex editor หรือใน URL เป็น %E4%BD%A0
มีประโยชน์เมื่อไร
นักพัฒนาใช้เพื่อตรวจว่าข้อความถูกจัดเก็บบนดิสก์หรือส่งผ่านเครือข่ายอย่างไร เพื่อเปรียบเทียบความยาวสตริงเป็นไบต์กับเป็นอักขระ และเพื่อดีบักปัญหาตัวอักษรเพี้ยน (mojibake) นักเรียนใช้ฝึกแปลงเลขฐานสองและฐานสิบหกด้วยมือแล้วตรวจคำตอบ
คำถามที่พบบ่อย
› เครื่องมือนี้ใช้การเข้ารหัสอักขระแบบไหน?
UTF-8 ซึ่งเป็นการเข้ารหัสของเว็บ อักขระ ASCII ใช้ตัวละหนึ่งไบต์ ตัวอักษรที่มีเครื่องหมายเน้นเสียงมักใช้สองไบต์ อักษรจีน ญี่ปุ่น หรือเกาหลีใช้สามไบต์ และอีโมจิใช้สี่ไบต์
› วางไบต์ที่มีคำนำหน้า 0x หรือ \x ได้ไหม?
ได้ ขณะถอดรหัส คำนำหน้าอย่าง 0x, \x และ % สำหรับ hex, 0b สำหรับฐานสอง และ 0o สำหรับฐานแปดจะถูกตัดออก และช่องว่าง จุลภาค เซมิโคลอน และการขึ้นบรรทัดใหม่ใช้เป็นตัวคั่นได้ทั้งหมด
› ทำไมจึงได้ข้อผิดพลาดว่าไบต์ไม่ใช่ UTF-8 ที่ถูกต้อง?
ลำดับไบต์บางแบบไม่สามารถปรากฏในข้อความ UTF-8 ได้ เช่น ไบต์ FF ที่อยู่เดี่ยว ๆ หรืออักขระหลายไบต์ที่ถูกตัดขาด ตรวจสอบว่าคุณคัดลอกมาครบทุกไบต์และเลือกรูปแบบถูกต้อง
› ข้อความของฉันถูกอัปโหลดหรือไม่?
ไม่ การเข้ารหัสและถอดรหัสทำงานในเบราว์เซอร์ของคุณ