로우 DEFLATE (.deflate)

IETF 표준

DEFLATE는 컴퓨터 역사상 널리 사용되는 무손실 데이터 압축 알고리즘으로, 30년 넘게 ZIP 아카이브, GZIP 스트림, PNG 이미지 및 HTTP 웹 압축에 사용되어 왔습니다.

GZIP을(를) DEFLATE(으)로 변환

무료 브라우저 내 GZIP에서 DEFLATE로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DEFLATE 파일을 식별합니다:

여기에 파일을 선택하거나 놓으십시오

비공개 - 파일은 기기를 벗어나지 않습니다

또는 붙여넣기 Ctrl+V
네트워크 전송 없음에 대한 개인정보 보호 보장: 외부 서버로 업로드된 데이터는 0바이트입니다. 모든 처리는 브라우저 샌드박스 내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DEFLATE 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

원시 DEFLATE에는 고정 시그니처가 없으며, zlib 래핑 스트림은 가변 CMF/FLG 바이트로 시작합니다.

ASCII 표현: 고정 시그니처 없음

표준화: IETF RFC 1951 / RFC 1950 (zlib)

기술 사양

컨테이너 아키텍처원시 RFC 1951 비트스트림 또는 2바이트 헤더와 Adler-32 체크섬이 포함된 RFC 1950 zlib 래핑 스트림
압축LZ77 슬라이딩 사전(최대 32KB 윈도)과 동적/정적 허프만 엔트로피 코딩의 조합
바이트 엔디안리틀 엔디안 비트 패킹 순서
색 공간해당 없음(데이터 압축 스트림)
채널 및 구조원시 바이너리 또는 텍스트 데이터 스트림
최대 크기길이 제한 없는 스트림
투명도데이터를 비트 단위로 정확히 재현하는 100% 무손실 압축
스트리밍 및 프로그레시브블록 기반 비트스트림으로 임의 길이의 연속 바이트 스트리밍을 지원

기술 비교 매트릭스: DEFLATE 대 경쟁사

기술적 속성DEFLATE (현재)GZBROTLIZSTD
표준화IETF RFC 1951 (Raw) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
슬라이딩 윈도우최대 32 킬로바이트최대 32 킬로바이트최대 16MB최대 2GB
체크섬 모드Adler-32 (zlib 래퍼 내)CRC-32 (gzip 래퍼 내)내장 스트림 없음xxHash64 (64비트 빠른 해시)
일상적 사용PNG 이미지, PDF 스트림, ZIPUnix .tar.gz, HTTP gzip웹 폰트 (WOFF2), HTTP brLinux 커널, 데이터베이스, 게이밍

일반적인 손상 모드 및 헥스 복구 가이드

'Z_DATA_ERROR: incorrect data check' 오류와 함께 압축 해제에 실패합니다.

근본 원인: zlib으로 감싸진 스트림 끝에 있는 4바이트 Adler-32 체크섬의 불일치입니다.

복구: 원시 inflate를 사용해 Adler-32 검증을 우회하거나 File2File.app Deflate 복구 기능으로 복구하십시오.

보안 분석 및 파서 공격 벡터

DEFLATE 파서는 범위를 벗어난 포인터 쓰기를 방지하기 위해 허프만 트리 구성 규칙을 엄격하게 검증해야 합니다.

알려진 공격 벡터

  • 유효하지 않은 메모리 읽기를 유발하는 불완전하거나 항목 수가 허용치를 초과한 동적 허프만 트리 비트 길이 테이블.
  • 작은 페이로드를 수백 기가바이트의 RAM 사용량으로 늘리는 압축 해제 폭탄(zip bomb).
  • 검증되지 않은 슬라이딩 윈도우 거리 코드에서의 버퍼 범위 초과 읽기.

방어적 모범 사례: 압축 해제 중에 경계가 지정된 최대 메모리 할당 및 확장 비율 상한을 적용하십시오.

역사적 배경 및 주요 이력

1996Peter Deutsch가 DEFLATE를 IETF RFC 1951로, zlib을 RFC 1950으로 공식화했습니다.
1995Jean-loup Gailly와 Mark Adler가 DEFLATE의 범용 C 레퍼런스 라이브러리인 zlib.
1991Phil Katz가 기존 Implode 및 Reduce 알고리즘을 대체하기 위해 PKZIP 2.0용 DEFLATE를 발명했습니다.

주요 장점

  • 하드웨어, 운영 체제 및 모든 프로그래밍 런타임에 구현된 명실상부한 글로벌 표준입니다.
  • 특허 및 로열티 없는 설계로 전체 컴퓨팅 산업에서 열린 접근을 보장합니다.
  • 최소한의 메모리 풋프린트로 빠른 압축 해제를 제공합니다(32 KB 슬라이딩 윈도우 메모리만 필요).

기술적 제한 사항 및 단점

  • 슬라이딩 윈도우가 32 KB로 제한되어 있어 거리가 먼 중복 항목이 있는 대용량 파일에서 압축 효율성이 떨어집니다.
  • Brotli 및 Zstandard와 같은 최신 알고리즘에 비해 현대 웹 자산에서의 압축률이 낮습니다.
  • 원시 DEFLATE 스트림은 zlib 또는 gzip 래퍼가 없으면 자체 설명 메타데이터나 컨테이너 프레임이 부족합니다.

흥미로운 기술적 상식

  • Phil Katz는 초기 PKARC 유틸리티에서 사용된 특허받은 LZW 알고리즘과 관련하여 Unisys로부터 소송을 당한 후 DEFLATE를 발명했습니다.
  • 표준 zlib 헤더 바이트 '78 9C'는 기본 압축을, '78 01'은 낮은 압축을, '78 DA'는 최대 압축을 나타냅니다.
  • 모든 PNG 이미지는 IDAT 픽셀 청크를 압축하는 데 DEFLATE를 사용합니다.

자주 묻는 기술 질문

DEFLATE, zlib 및 gzip은 어떻게 다릅니까?

DEFLATE는 원시 압축 알고리즘(RFC 1951)입니다. Zlib은 DEFLATE에 2바이트 헤더와 Adler-32 체크섬을 추가한 래퍼입니다(RFC 1950). Gzip은 DEFLATE에 파일 메타데이터와 CRC-32 체크섬을 추가한 래퍼입니다(RFC 1952).

PNG가 DEFLATE를 사용하는 이유는 무엇입니까?

PNG 형식은 특허받은 LZW 알고리즘을 사용하지 않고 GIF를 대체하기 위해 1995년에 만들어졌으며, 압축을 위해 개방형의 로열티 프리인 DEFLATE를 선택했습니다.

원시 .deflate 파일의 압축을 어떻게 해제할 수 있습니까?

웹 브라우저에서 직접 File2File.app을 사용하여 원시 DEFLATE 또는 zlib 바이트 스트림을 원래의 압축 해제된 파일로 복원할 수 있습니다.