DevToys Web Pro iconDevToys Web Proบล็อก
ให้คะแนนเรา:
ลองใช้ส่วนขยายเบราว์เซอร์:

ตัวแปลงข้อความ ↔ ไบนารี

โหมด
บิต
ตัวคั่น

ข้อความ

  • เลขฐานสอง

  • รายละเอียดทางเทคนิค

    ตัวแปลงข้อความ ↔ ไบนารีทำงานอย่างไร

    เครื่องมือนี้ทำอะไร

    เครื่องมือ Text ↔ Binary แปลงข้อความไปมาเป็นรูปแบบไบนารีของมัน ที่ 8 บิตต่ออักขระ อินพุตจะถูกเข้ารหัสเป็นไบต์ UTF-8; ที่ 16 บิตต่ออักขระ จะปล่อย code unit ออกมาโดยตรง ตัวคั่น (ช่องว่าง จุลภาค ขึ้นบรรทัดใหม่ หรือไม่มี) ทำให้เอาต์พุตอ่านง่ายหรือวางได้สะดวก การถอดรหัสรองรับการผสมตัวคั่นเหล่านี้ได้ทุกรูปแบบ และแม้แต่สตริงบิตที่ติดกันยาว ๆ ตราบใดที่ความยาวรวมเป็นพหุคูณของขนาดกลุ่มบิตที่ตั้งค่าไว้

    กรณีการใช้งานทั่วไปของนักพัฒนา

    ครูและนักเรียนใช้เครื่องมือนี้เพื่อมองเห็นว่า ASCII และ UTF-8 เข้ารหัสอักขระเป็นไบต์อย่างไร นักพัฒนา embedded เตรียมฟิกซ์เจอร์ทดสอบของเพย์โหลดข้อความ นักวิเคราะห์ความปลอดภัยถอดรหัสบล็อบไบนารีที่คัดลอกมาจากแคปเจอร์หรือบทความ reverse engineering นอกจากนี้ยังเป็นการเช็กความสมเหตุสมผลอย่างรวดเร็วเมื่อคุณทำสคีมการแพ็กบิตเอง หรือเมื่ออธิบาย endianness และการเข้ารหัสอักขระให้เพื่อนร่วมทีม

    รูปแบบข้อมูล ชนิด หรือรูปแบบย่อย

    ที่ 8 บิตต่ออักขระ เครื่องมือจะทำ round-trip ข้อความผ่าน UTF-8 เพื่อให้อักขระมีเครื่องหมายกำกับเสียงและอักษร CJK เข้ารหัสและถอดรหัสได้ถูกต้อง (เช่น 'é' กลายเป็น 11000011 10101001) ที่ 16 บิตต่ออักขระ เครื่องมือจะปล่อย UTF-16 code unit ซึ่งมีประโยชน์เมื่อเทียบกับวิธีที่ JavaScript แทนสตริงภายใน ตัวคั่นเป็นเพียงเรื่องของการแสดงผล — ตัวถอดรหัสจะทำ normalization ของช่องว่าง จุลภาค และบรรทัดใหม่

    ข้อผิดพลาดที่พบบ่อยและกรณีขอบ

    การผสมกลุ่ม 8 บิตและ 16 บิตในอินพุตเดียวกันจะให้ผลลัพธ์ไม่ถูกต้อง — เลือกอย่างใดอย่างหนึ่งและใช้ให้สม่ำเสมอ UTF-16 surrogate pairs จะถูกปล่อยเป็นสองกลุ่ม 16 บิตแยกกัน; การพยายามถอดรหัสที่ 8 บิตต่ออักขระจะไม่ให้ตัวอักษรเดิม เมื่อถอดรหัสสตริงบิตที่ไม่มีตัวคั่น ความยาวรวมต้องเป็นพหุคูณเต็มของขนาดกลุ่มบิต มิฉะนั้นเครื่องมือจะรายงานข้อผิดพลาด

    เมื่อใดควรใช้เครื่องมือนี้แทนการเขียนโค้ด

    ใช้เครื่องมือบนเบราว์เซอร์สำหรับการแปลงแบบครั้งคราว เดโมในห้องเรียน และการเตรียมฟิกซ์เจอร์อย่างรวดเร็ว ในโค้ดแอปพลิเคชัน ให้ใช้ `TextEncoder` / `TextDecoder` สำหรับการแปลง UTF-8, `Buffer.from(str, 'utf8')` ใน Node.js หรือ `bytes(str, 'utf-8')` ใน Python — สิ่งเหล่านี้รองรับสตรีม โหมดข้อผิดพลาด และการตรวจจับ BOM ที่ตัวแปลงแบบคงที่ไม่รองรับ