แปลง Brotli เป็น GZIP
การแปลงไฟล์ Brotli เป็นรูปแบบ GZIP ยอมลดประสิทธิภาพการบีบอัดลงเล็กน้อย เพื่อให้ใช้งานร่วมกับซอฟต์แวร์ได้อย่างแพร่หลาย
การเปรียบเทียบรูปแบบและข้อกำหนดทางเทคนิค
| ข้อกำหนด | BROTLI | GZIP |
|---|---|---|
| ประเภท MIME | application/ | application/ |
| ประเภท | การบีบอัดสตรีมแบบจำลองบริบท | คอนเทนเนอร์สตรีม DEFLATE |
| การบีบอัด | Brotli LZ77 + การจำลองบริบทลำดับที่ 2 | DEFLATE (RFC 1951) |
| ข้อกำหนดมาตรฐาน | IETF RFC 7932 | IETF RFC 1952 |
| ส่วนหัวที่ระบุลายเซ็นไฟล์ | Brotli byte stream headers (WBITS / sliding dictionary) | 1F 8B (gzip ID1/ID2) |
ภาพรวมรูปแบบและการใช้งาน
ซอฟต์แวร์และระบบรุ่นเก่าบางรายการรองรับ GZIP แต่ไม่รองรับ Brotli การแปลงสตรีม Brotli เป็น GZIP อาจช่วยได้เมื่อเครื่องมือปลายทางต้องใช้รูปแบบนี้ การคลายและบีบอัดใหม่จะเปลี่ยนไบต์ที่บีบอัด แต่ควรคงข้อมูลหลังคลายการบีบอัดไว้ ความเข้ากันได้ขึ้นอยู่กับแอปปลายทาง
ข้อกำหนดทางเทคนิคและรายละเอียดตัวแปลงสัญญาณ
สตรีม Brotli ใช้ application/x-brotli และอาศัยอัลกอริทึม LZ77 ขั้นสูงร่วมกับการสร้างแบบจำลองบริบทอันดับสองและรหัสคำนำหน้าคงที่ ในทางตรงกันข้าม ไฟล์ GZIP ใช้ application/gzip และห่อหุ้มข้อมูลที่บีบอัดด้วยอัลกอริทึม DEFLATE ซึ่งจับคู่ LZ77 กับการเข้ารหัสฮัฟแมนตามที่กำหนดไว้ใน RFC 1951 ลายเซ็นไบต์มหัศจรรย์ (magic bytes) เป็นตัวกำหนดวิธีที่ซอฟต์แวร์ระบุสตรีมเหล่านี้ ไฟล์ GZIP มักจะเริ่มต้นด้วยลำดับส่วนหัวสองไบต์ 0x1F 0x8B เสมอ สตรีม Brotli ไม่ได้ใช้ส่วนหัวตัวเลขวิเศษส่วนกลางแบบตายตัวในลักษณะเดียวกัน แต่จะอาศัยส่วนหัวสตรีมบิตที่มีความยาวตัวแปรซึ่งบิตแรกๆ กำหนดขนาดหน้าต่างและความยาวสตรีม
ความเข้ากันได้ของระบบปฏิบัติการและเบราว์เซอร์
GZIP ได้รับการสนับสนุนอย่างกว้างขวางในระบบปฏิบัติการสมัยใหม่ส่วนใหญ่ รวมถึง Windows, macOS, Linux, iOS และ Android ยูทิลิตี้ระบบในตัวเช่น tar, gunzip และ 7-Zip จัดการ GZIP ได้อย่างราบรื่น Brotli ได้รับการสนับสนุนเป็นอย่างดีในเว็บเบราว์เซอร์สมัยใหม่และเคอร์เนล Linux สมัยใหม่ แต่เครื่องมือบรรทัดคำสั่งรุ่นเก่าและรันไทม์ภาษาโปรแกรมรุ่นเก่ามักขาดไลบรารีการถอดรหัสแบบเนทีฟสำหรับสตรีม Brotli ดิบ ทำให้ GZIP เป็นตัวเลือกที่ปลอดภัยกว่าสำหรับการขนส่งไฟล์สากล
เคล็ดลับการใช้งาน
ตรวจสอบให้แน่ใจว่าปลายทางการคลายการบีบอัดของคุณรองรับ RFC 1951 ก่อนทำการแปลงไฟล์แบบแบตช์ เนื่องจากไมโครคอนโทรลเลอร์แบบฝังบางตัวมีกิจวัตรการแยกวิเคราะห์ GZIP เพียงเล็กน้อยเท่านั้น
คำถามที่พบบ่อย
วิธีแปลงสตรีม Brotli เป็นสตรีม GZIP โดยไม่สูญเสียคุณภาพ?
รูปแบบทั้งสองใช้อัลกอริทึมการบีบอัดแบบไม่สูญเสียข้อมูล (Lossless) ซึ่งหมายความว่าเนื้อหาของไฟล์จะคลายการบีบอัดกลับเป็นลำดับไบต์ดั้งเดิมที่แน่นอน โดยไม่มีการสูญเสียข้อมูลหรือลดทอนคุณภาพลงเลย
ความแตกต่างระหว่างสตรีม Brotli และสตรีม GZIP คืออะไร?
โปรแกรมเดสก์ท็อปและเซิร์ฟเวอร์หลายชนิดรองรับ GZIP แต่การใช้งานบนอุปกรณ์ขึ้นอยู่กับแอป