aspose.info
KO

LZ4 - LZ4 압축 파일 형식

업데이트

.LZ4 파일이란?

확장자가 .lz4인 파일은 LZ4 압축을 지원하는 응용 프로그램/유틸리티로 만든 압축 아카이브 파일입니다. LZ4 알고리즘은 속도와 압축 비율 간의 균형에 중점을 둡니다. 압축된 LZ4 아카이브는 LZ4 명령줄 유틸리티를 사용하여 생성할 수 있으며 이를 사용하여 압축을 풀 수 있습니다.

LZ4 파일 형식

LZ4 압축 알고리즘을 기반으로 하는 LZ4 파일 형식은 CPU 유형, 운영 체제, 파일 시스템 및 문자 집합과 무관합니다. LZ4 알고리즘을 사용한 파일 압축 및 스트리밍 압축에 적합합니다. LZ4 형식의 초기 구현은 2011년 Yann Collet에 의해 C 언어로 수행되었으며 Github에서 개발자 참조용으로 제공됩니다. .

LZ4 프레임 형식

LZ4 파일 형식의 일반적인 구조는 다음과 같습니다.

매직앤비F. 설명자차단(…)EndMarkC. 체크섬
4바이트3-15바이트4바이트0-4바이트

매직 넘버

4바이트, 리틀 엔디안 형식. 값 : 0x184D2204

프레임 설명자

프레임 디스크립터는 3 t0 15 바이트로 구성되며 사양에서 가장 중요한 부분입니다. Magic_Number 및 Frame_Descriptor 필드를 함께 LZ4 프레임 헤더라고 하며 그 크기는 7~19바이트입니다. 아래 그림과 같습니다.

FLGBD(콘텐츠 크기)(사전 아이디)HC
1바이트1바이트0 - 8바이트0 - 4바이트1바이트

데이터 블록

각 데이터 블록은 다음 순서를 따릅니다.

블록 크기데이터(블록 체크섬)
4바이트0 - 4바이트

엔드마크

블록의 흐름은 마지막 데이터 블록 다음에 32비트 값 0x00000000이 오면 끝납니다.

콘텐츠 체크섬

Content_Checksum은 복호화되는 내용의 유효성을 정확히 검증하고 xxHash-32 알고리즘의 결과를 이용하여 수행한다. 모든 블록을 오류 없이 올바른 순서로 성공적으로 전송한 결과를 검증합니다.

참고문헌

함께 보기