ตัวแปลง ASCII เป็นเลขฐานสอง

ตัวแปลง ASCII เป็นเลขฐานสองจะนำอักขระแต่ละตัวจากข้อมูลที่ป้อน มาค้นหาจุดรหัสเจ็ดบิต เติมให้เต็มหนึ่งไบต์ แล้วแสดงผลแปดบิตเป็นเลขศูนย์และหนึ่ง เหมาะกับการบ้านวิทยาการคอมพิวเตอร์ การอ่านฐานสิบหกแบบดัมป์ทีละไบต์ และการเขียนฟิกซ์เจอร์ทดสอบสำหรับโค้ดอนุกรมหรือเครือข่ายระดับต่ำที่ต้องเห็นชัดว่าบิตใดวิ่งผ่านสายส่ง

ASCII กลายเป็นเลขฐานสองอย่างไร

  1. 1

    วางข้อความของคุณ

    รับอักขระ ASCII ที่พิมพ์ได้ทุกตัว ทั้งตัวอักษร ตัวเลข เครื่องหมายวรรคตอน และช่องว่าง

  2. 2

    แต่ละอักขระถูกจับคู่กับรหัสฐานสิบ

    เช่น `A` คือ 65, `a` คือ 97, ช่องว่างคือ 32

  3. 3

    เลขฐานสิบนั้นกลายเป็นเลขฐานสองแบบ 8 บิต

    65 ในฐานสองคือ `01000001` เลขศูนย์ด้านหน้าช่วยเติมให้เต็มหนึ่งไบต์

  4. 4

    ไบต์ถูกเชื่อมด้วยตัวคั่นที่คุณเลือก

    ดังนั้น `Hi` จะกลายเป็น `01001000 01101001` เมื่อใช้ช่องว่าง ตัวเลือกที่มีคือ ช่องว่าง ไม่มีตัวคั่น ยัติภังค์ และเครื่องหมายจุลภาค

ตัวอย่างการคำนวณ

คำว่า Cat เข้ารหัสเป็น:

อักขระ ฐานสิบ ฐานสอง
C 67 01000011
a 97 01100001
t 116 01110100

เมื่อนำมาต่อกัน: 01000011 01100001 01110100

ทำไมต้อง 8 บิต ไม่ใช่ 7?

ASCII ถูกกำหนดเป็นรหัส 7 บิต คือค่า 0-127 แต่เครื่องสมัยใหม่ทุกเครื่องเก็บอักขระเป็นไบต์เต็ม ดังนั้นบิตบนสุดจึงมีอยู่เสมอ และเป็นศูนย์เสมอสำหรับ ASCII บริสุทธิ์ การเติมเป็น 8 บิตทำให้ตรงกับสิ่งที่จะเห็นในโปรแกรมแก้ไขฐานสิบหกหรือการติดตามด้วย Wireshark

ข้อมูลป้อนที่ไม่ใช่ ASCII

อักขระเหนือ U+007F (ตัวอักษรมีเครื่องหมาย อีโมจิ อักษรจีน-ญี่ปุ่น-เกาหลี) ไม่ใช่ ASCII และตัวแปลงนี้จัดการได้ไม่ถูกต้องนัก อักขระแต่ละตัวจะถูกแปลงโดยใช้เฉพาะไบต์แรกของการเข้ารหัส UTF-8 เท่านั้น ส่วนไบต์ที่เหลือจะถูกตัดทิ้ง เช่น é (U+00E9) ถูกเก็บเป็นสองไบต์ 11000011 10101001 แต่ตัวแปลงนี้ให้ผลลัพธ์เพียง 11000011 หากต้องการดัมป์ฐานสองที่ถูกต้องของข้อความที่มีเครื่องหมายกำกับเสียง ให้ใช้ตัวแปลงที่รองรับ UTF-8

กรณีใช้งานที่พบบ่อย

  • การศึกษา, วิชาวิทยาการคอมพิวเตอร์เบื้องต้น แสดงว่าข้อความกลายเป็นบิตอย่างไร
  • การแก้จุดบกพร่องโปรโตคอล, รู้ว่า GET ตอนต้นของคำขอ HTTP คือ 01000111 01000101 01010100 00100000
  • ปริศนาการทำให้อ่านยาก, ข้อความฐานสองเป็นแนวที่พบบ่อยในปริศนาห้องหนีภัยและโจทย์ CTF

คำถามที่พบบ่อย

เพราะ ASCII ไปได้แค่ 127 ดังนั้นบิตที่มีนัยสำคัญสูงสุดของทุกไบต์ ASCII จึงเป็นศูนย์ หากข้อมูลป้อนมีอักขระที่ไม่ใช่ ASCII โปรดจำไว้ว่าจะใช้เฉพาะไบต์แรกของแต่ละอักขระ ผลลัพธ์เหล่านั้นจึงขึ้นต้นด้วยเลขหนึ่ง

ได้ ใช้ Binary to ASCII Converter ซึ่งรับการจัดกลุ่มแบบ 8 บิตได้ทั้งแบบมีและไม่มีตัวคั่น

ไม่ ช่องป้อนข้อมูลรับข้อความได้เพียงบรรทัดเดียว ดังนั้นจึงไม่สามารถวางข้อความหลายบรรทัดพร้อมกันได้ หากต้องการไบต์ของอักขระขึ้นบรรทัดใหม่ ให้แปลงทีละบรรทัด

ช่องว่างระหว่างไบต์อ่านง่ายที่สุด ใช้แบบไม่มีตัวคั่นหากจะวางในตัวแยกวิเคราะห์แบบความกว้างคงที่ หรือใช้ตัวเลือกยัติภังค์หากวิชาเรียนของคุณต้องการยัติภังค์

เครื่องมือที่เกี่ยวข้อง

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือตรวจสอบหมายเลขโทรศัพท์

ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966

เครื่องมือนี้มีให้บริการในภาษาอื่น