ZIP은 1989년 필 카츠(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라고 한다.