Chuyển đổi Deflate sang GZIP

Chuyển đổi DEFLATE thô sang luồng GZIP giúp đóng gói dữ liệu đã nén trong một định dạng chứa tiêu chuẩn có tiêu đề siêu dữ liệu, để hệ điều hành và công cụ web có thể đọc đúng cách.

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V

Trong lúc chờ tệp, bạn có thể chơi Code Rain

Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

So sánh định dạng & Thông số kỹ thuật

Thông số kỹ thuậtDEFLATEGZIP
Loại MIMEapplication/zlibapplication/gzip
Loạiluồng DEFLATE thôvùng chứa luồng DEFLATE
NénLZ77 + mã hóa HuffmanDEFLATE (RFC 1951)
Thông số tiêu chuẩnIETF RFC 1950 / RFC 1951IETF RFC 1952
Chữ ký byte đầu tệp78 01 / 78 9C / 78 DA (zlib header bytes)1F 8B (gzip ID1/ID2)

Tổng quan định dạng & Ứng dụng

Luồng dữ liệu DEFLATE thô chứa byte đã nén nhưng không có tiêu đề tệp hoặc tổng kiểm tra ở cuối. Trình duyệt web và công cụ mạng thường khó xử lý các luồng rời này vì thiếu siêu dữ liệu như tên tệp gốc, dấu thời gian sửa đổi hoặc mã hệ điều hành. Bọc dữ liệu thô trong vùng chứa GZIP giúp giải quyết vấn đề tương thích. Nhà phát triển gặp luồng DEFLATE thô trong giao thức mạng như nén HTTP, khối ảnh PNG và kho lưu trữ ZIP. Khi cần lưu các luồng này thành tệp độc lập để dùng với công cụ dòng lệnh hoặc tải xuống web thông thường, kỹ sư chuyển chúng sang định dạng GZIP. Nhờ vậy, tiện ích giải nén nhanh chóng nhận biết loại tệp và trích xuất nội dung mà không báo lỗi.

Thông số kỹ thuật & Phân tích codec

DEFLATE thô là luồng bit theo RFC 1951, dùng ghép cặp LZ77 và mã hóa Huffman mà không có tiêu đề đóng khung hay chữ ký cố định. Loại MIME application/zlib mô tả luồng DEFLATE được bọc bằng zlib theo RFC 1950, chứ không phải DEFLATE thô. GZIP (application/gzip) bọc tải trọng DEFLATE trong tiêu đề bắt đầu bằng byte 1F 8B và phần cuối chứa tổng kiểm tra CRC32 cùng kích thước chưa nén theo modulo 2^32.

Khả năng tương thích hệ điều hành & trình duyệt

Luồng GZIP tương thích rộng với các hệ điều hành hiện đại như Linux, macOS và Windows. Công cụ dòng lệnh như gzip, gunzip và 7-Zip đọc trực tiếp tệp GZIP. Trình duyệt web tự giải nén GZIP khi nhận phản hồi HTTP từ máy chủ; DEFLATE thô thường cần logic phân tích cú pháp tùy chỉnh trong môi trường JavaScript hoặc mô-đun WebAssembly.

Thông tin hữu ích

Luôn xác minh rằng công cụ giải nén của bạn đọc đúng phần đuôi GZIP, vì tổng kiểm tra CRC32 theo sau bị hỏng sẽ khiến các công cụ trích xuất hủy bỏ ngay cả khi tải trọng DEFLATE cơ bản vẫn còn nguyên vẹn.

Câu hỏi thường gặp

Làm thế nào để chuyển đổi DEFLATE thô sang luồng GZIP mà không làm giảm chất lượng?

Cả hai định dạng đều sử dụng nén không mất dữ liệu dựa trên chính xác cùng một thuật toán DEFLATE. Việc chuyển đổi giữa chúng đơn giản là thêm các tiêu đề thùng chứa và tổng kiểm tra xung quanh các byte được nén hiện có, nghĩa là việc mất dữ liệu bằng không xảy ra trong quá trình gói.

Sự khác biệt giữa DEFLATE thô và luồng GZIP là gì?

DEFLATE thô chỉ chứa tải trọng đã nén, không có tiêu đề nhận diện hay phần cuối. Luồng GZIP là định dạng vùng chứa tệp tiêu chuẩn, bổ sung tiêu đề 10 byte và phần cuối 8 byte có tổng kiểm tra vào dữ liệu DEFLATE thô để theo dõi siêu dữ liệu và phát hiện lỗi.