ตัวแปลงข้อความเป็นเลขฐานสองและเลขฐานสองเป็นข้อความ

แปลงข้อความเป็นรหัสเลขฐานสองทีละไบต์ ไบต์ละ 8 บิต หรือแปลงสตริงของเลข 0 และ 1 กลับเป็นข้อความที่อ่านได้ ใช้ได้กับ UTF-8 และชุดอักขระอื่นอีกมากมาย

ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ

วิธีใช้งาน

  1. เลือก “เข้ารหัส” เพื่อแปลงข้อความเป็นเลขฐานสอง หรือ “ถอดรหัส” เพื่อแปลงเลขฐานสองกลับเป็นข้อความ
  2. พิมพ์หรือวางข้อความหรือเลขฐานสอง หรือเปิดไฟล์ ผลลัพธ์จะอัปเดตทันทีขณะที่คุณพิมพ์
  3. เลือก “ตัวคั่น” สำหรับกลุ่ม 8 บิต ได้แก่ “ช่องว่าง” “ไม่มี” “จุลภาค” หรือ “ขึ้นบรรทัดใหม่”
  4. หากข้อความไม่ได้เป็น UTF-8 ให้เปลี่ยน “การเข้ารหัสอักขระ” จากนั้นคัดลอกหรือดาวน์โหลดผลลัพธ์

ข้อความกลายเป็นเลขฐานสองได้อย่างไร

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

ตัวอักษรภาษาอังกฤษ ตัวเลข และเครื่องหมายวรรคตอนทั่วไปใช้ตัวละหนึ่งไบต์ใน UTF-8 อักขระแต่ละตัวจึงกลายเป็นกลุ่ม 8 บิตหนึ่งกลุ่ม ส่วนอักขระอื่นใช้มากกว่านั้น ตัวอักษรที่มีเครื่องหมายเน้นเสียงอย่าง é ใช้สองไบต์ อักษรไทยรวมถึงอักษรจีนและญี่ปุ่นส่วนใหญ่ใช้สามไบต์ และอีโมจิใช้สี่ไบต์ อีโมจิเพียงตัวเดียวจึงกลายเป็น 32 บิต หากต้องการให้ข้อความภาษายุโรปตะวันตกใช้อักขระละหนึ่งไบต์ ให้เลือก ISO-8859-1 หรือ Windows-1252 ในเมนู “การเข้ารหัสอักขระ”

แปลงเลขฐานสองกลับเป็นข้อความ

ในโหมด “ถอดรหัส” ให้วางบิตเป็นกลุ่มที่คั่นด้วยช่องว่าง จุลภาค หรือการขึ้นบรรทัดใหม่ กลุ่มที่มีตัวคั่นสามารถละเลขศูนย์นำหน้าได้ จึงใช้กับผลลัพธ์จากเครื่องมือที่แสดง ASCII แบบ 7 บิตได้ด้วย สตริงของเลข 0 และ 1 ที่ต่อกันโดยไม่มีตัวคั่นจะถูกแบ่งเป็นกลุ่มละ 8 บิต ความยาวจึงต้องเป็นพหุคูณของ 8 อักขระอื่นใด หรือกลุ่มที่มีค่ามากกว่า 11111111 (255) จะถูกแจ้งพร้อมตำแหน่ง

จากนั้นไบต์จะถูกอ่านด้วยการเข้ารหัสอักขระที่เลือกไว้ ให้เลือกการเข้ารหัสเดียวกับที่ใช้สร้างเลขฐานสองนั้น หรือเปลี่ยนเอาต์พุตเป็น “เลขฐานสิบหก” เพื่อดูไบต์ดิบ

แปลงข้อความเป็นเลขฐานสองด้วยโค้ด

# Python
' '.join(f'{b:08b}' for b in 'Hi'.encode())      # '01001000 01101001'
bytes(int(g, 2) for g in '01001000 01101001'.split()).decode()   # 'Hi'

// JavaScript
[...new TextEncoder().encode('Hi')]
  .map(b => b.toString(2).padStart(8, '0')).join(' ')   // '01001000 01101001'

ข้อกำหนด

ชุดตัวอักษร0 1
ขนาดเอาต์พุต8 หลักต่อไบต์ (800%)
แพดดิงไม่มี
มาตรฐานเลขฐานสองแบบค่าประจำหลัก
แยกตัวพิมพ์เล็ก-ใหญ่ไม่ใช่

ตัวอย่าง

อินพุต (UTF-8)เอาต์พุต
Hello, World!01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001
Base64.is01000010 01100001 01110011 01100101 00110110 00110100 00101110 01101001 01110011
你好11100100 10111101 10100000 11100101 10100101 10111101

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

อักขระหนึ่งตัวมีกี่บิต

ใน ASCII และสำหรับตัวอักษรภาษาอังกฤษใน UTF-8 อักขระหนึ่งตัวคือหนึ่งไบต์ หรือ 8 บิต อักขระอื่นใช้ 16, 24 หรือ 32 บิตใน UTF-8 (อักษรไทยใช้ 24 บิต) ส่วนใน UTF-16 อักขระทุกตัวใช้อย่างน้อย 16 บิต

แปลงเลขฐานสองที่ไม่มีช่องว่างเป็นข้อความได้หรือไม่

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

การแปลงข้อความเป็นเลขฐานสองเหมือนกับการแปลงตัวเลขเป็นเลขฐานสองหรือไม่
ไม่เหมือน เครื่องมือนี้เขียนแต่ละไบต์ของข้อความแยกกัน หากต้องการแปลงตัวเลขเดี่ยว เช่น 1000 เป็นเลขฐานสอง ให้ใช้ ตัวแปลงเลขฐาน
ข้อความของฉันถูกอัปโหลดไปที่ใดหรือไม่

ไม่ถูกอัปโหลด การแปลงทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ข้อความและไฟล์ที่คุณแปลงจึงไม่ออกจากอุปกรณ์ของคุณเลย