วิธีใช้งาน
- เลือก “เข้ารหัส” เพื่อแปลงข้อความเป็นเลขฐานสอง หรือ “ถอดรหัส” เพื่อแปลงเลขฐานสองกลับเป็นข้อความ
- พิมพ์หรือวางข้อความหรือเลขฐานสอง หรือเปิดไฟล์ ผลลัพธ์จะอัปเดตทันทีขณะที่คุณพิมพ์
- เลือก “ตัวคั่น” สำหรับกลุ่ม 8 บิต ได้แก่ “ช่องว่าง” “ไม่มี” “จุลภาค” หรือ “ขึ้นบรรทัดใหม่”
- หากข้อความไม่ได้เป็น 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.is | 01000010 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 หลักเพราะเลขศูนย์นำหน้าถูกละไว้ ให้คั่นแต่ละกลุ่มด้วยช่องว่างหรือจุลภาค เพื่อให้ตัวถอดรหัสรู้ว่าแต่ละไบต์สิ้นสุดที่ใด
การแปลงข้อความเป็นเลขฐานสองเหมือนกับการแปลงตัวเลขเป็นเลขฐานสองหรือไม่
ข้อความของฉันถูกอัปโหลดไปที่ใดหรือไม่
ไม่ถูกอัปโหลด การแปลงทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ข้อความและไฟล์ที่คุณแปลงจึงไม่ออกจากอุปกรณ์ของคุณเลย