ZIP

ZIP1989년 필 카츠(Phil Katz)가 PKZIP에서 사용하기 위해 톰 헨더슨(Thom Henderson)의 ARC를 발전시킨 데이터 압축 포맷이다.

ZIP는 하나 이상의 컴퓨터 파일을 작은 크기로 줄인 다음 묶어서 저장한다. PKZIP 외에 다른 소프트웨어도 대부분 지원하고 있으며 윈도우에선 폴더형식처럼 사용할 수 있다. 압축 폴더라는 이름으로 지원하고 있으며 파일 이름 수정과 같은 작업은 불가하지만 단일 파일을 열어보는 건 가능하다. 매킨토시에서는 MAC OS X 10.3부터 지원한다. 여러 가지 알고리즘을 사용할 수 있지만 대부분 Deflate을 주로 사용한다

포맷구조[편집 | 원본 편집]

ZIP는 파일 시작 부분이 아닌 파일 끝 부분에 전체 파일 헤더(정보)가 있고 이를 End Header라 한다. 구조는 다음과 같다.

데이터 크기 비고
파일 식별자 4바이트 항상 0x504b0506 이다
number of this disk 2바이트
number of the disk
with the start of the central directory
2바이트
total number of entries
in the central directory on this disk
2바이트
size of the central directory 4바이트
offset of start of central directory
with respect to the starting disk number
4바이트
ZIP file comment length 2바이트 zip에 대한 코멘트 문자열의 길이
ZIP file comment 가변 Zip file comment length의 크기만큼이다

또한 각 압축된 파일에 따라서 헤더(정보)가 따로 있으며 이를 local file header라고 한다.