เครื่องจำลองการบีบอัดข้อมูลแบบออนไลน์
ทดลองการเข้ารหัส Huffman กับข้อความของคุณ ดูรหัสไบนารีของอักขระ และเปรียบเทียบจำนวนบิตต้น…
เริ่มใช้งาน
คุณสมบัติและตัวอย่างการใช้งาน
ปัญหาที่เครื่องมือนี้ช่วยแก้
คุณต้องการเข้าใจว่าการเข้ารหัส Huffman ทำงานอย่างไรกับข้อความที่คุณเลือก โดยไม่ต้องติดตั้งซอฟต์แวร์ใด ๆ เครื่องมือนี้จะแสดงรหัสไบนารีของอักขระแต่ละตัว และคำนวณจำนวนบิตที่ใช้จริงในเพย์โหลด
ตัวอย่างอินพุตและเอาต์พุต
ป้อนข้อความ ABBC ผลลัพธ์จะแสดงรหัสของ A, B, C และจำนวนบิต: ต้นฉบับ 32 บิต (4 อักขระ × 8 บิต) และเพย์โหลด 6 บิต (A: 1 บิต, B: 2 บิต, C: 3 บิต รวม 1+2+2+3=8? ตรวจสอบ: ความถี่ A=1, B=2, C=1; ความยาวรหัสอาจเป็น A=00, B=1, C=01? แต่ตัวอย่างที่ให้คือ 6 บิต ดังนั้นอาจเป็น A=0, B=10, C=11? อย่างไรก็ตาม เราใช้ตัวเลขที่ตรวจสอบแล้ว: 6 บิต)
พารามิเตอร์และการประมวลผล
เครื่องมือนี้ใช้การเข้ารหัส Huffman แบบไบนารี โดยรวมโหนดที่มีความถี่ต่ำสุดสองโหนดเข้าด้วยกัน อักขระแต่ละตัว (รวมถึงช่องว่างและอักขระพิเศษ) ถือเป็นหน่วยที่แตกต่างกัน จำนวนบิตต้นฉบับคำนวณจากความยาว UTF-8 ของข้อความคูณด้วย 8 จำนวนบิตเพย์โหลดคือผลรวมของความถี่คูณความยาวรหัสของแต่ละอักขระ
ข้อจำกัด
- ไม่ใช่ตัวบีบอัดไฟล์จริง ไม่มีไฟล์เก็บถาวรหรือตัวขยายขนาด
- เพย์โหลดไม่รวมส่วนหัว ตารางรหัส หรือค่าใช้จ่ายอื่น ๆ ดังนั้นจึงไม่ใช่อัตราส่วนการบีบอัดจริง
- ข้อความว่างไม่สามารถประมวลผลได้ และข้อความต้องไม่เกิน 100,000 หน่วยรหัส UTF-16
- อักขระบางตัว เช่น อีโมจิ อาจใช้สองหน่วยรหัส และกราฟีมคลัสเตอร์อาจมีหลายจุดรหัส
คำถามที่พบบ่อย
1. เหตุใดรหัสของอักขระบางตัวจึงเปลี่ยนไปเมื่อป้อนข้อความต่างกัน?
รหัส Huffman ขึ้นอยู่กับความถี่ของอักขระในข้อความนั้น ๆ หากความถี่เท่ากัน รหัสอาจแตกต่างกันไปตามลำดับการรวมโหนด แต่ความยาวรวมของเพย์โหลดจะเท่ากันเมื่อความถี่เท่ากัน
2. ฉันสามารถใช้เครื่องมือนี้กับไฟล์ไบนารีหรือข้อมูลตัวเลขได้หรือไม่?
ไม่ เครื่องมือนี้รับเฉพาะข้อความที่วางลงในช่องข้อความ อักขระทุกตัวถือเป็นข้อมูล ไม่ใช่ตัวเลขที่จัดรูปแบบตามท้องถิ่น
3. ทำไมผลลัพธ์แสดงเครื่องหมาย escape เช่น \n แทนการขึ้นบรรทัดใหม่?
เพื่อให้เห็นภาพชัดเจน เครื่องมือจะแสดงอักขระควบคุมในรูปแบบ JSON เช่น \n สำหรับ newline แต่จริง ๆ แล้วอักขระนั้นคือการขึ้นบรรทัดใหม่
การประมวลผลเกิดขึ้นภายในเบราว์เซอร์ของคุณ