맨위로가기

ZIP (파일 포맷)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ZIP 파일 형식은 여러 파일을 하나의 아카이브로 묶어 저장하는 데 사용되는 압축 파일 형식이다. 1989년 필 카츠와 게리 콘웨이가 설계했으며, PKWARE의 PKZIP 유틸리티에 처음 구현되었다. ZIP은 다양한 압축 방식을 지원하며, 개별 파일의 압축 여부와 방식을 다르게 설정할 수 있다. ZIP64 확장을 통해 파일 크기 및 아카이브 내 파일 수에 대한 제한을 극복했다. ZIP 파일은 로컬 파일 헤더, 파일 데이터, 중앙 디렉토리 등으로 구성되며, UTF-8 파일 이름 저장을 지원하여 유니코드 호환성을 제공한다. ZIP은 다양한 운영 체제와 소프트웨어에서 지원되며, APK, DOCX, EPUB 등 많은 파일 형식의 기반이 된다.

2. 역사

ZIP 파일 형식은 PKWARE의 필 카츠와 Infinity Design Concepts의 게리 콘웨이가 설계했다. 이 형식은 PKWARE의 압축 제품인 PKARC가 SEA의 ARC 아카이브 시스템의 파생물이라고 주장하며 SEA가 PKWARE를 상대로 소송을 제기한 후에 만들어졌다.[3] "zip"(고속으로 이동하다영어)이라는 이름은 카츠의 친구 로버트 마호니가 제안했다.[4] 그들은 자신들의 제품이 당시의 ARC 및 기타 압축 형식보다 빠르다는 것을 암시하고자 했다.[4]

ZIP 파일 형식은 오픈 포맷으로 퍼블릭 도메인에 공개되어 누구나 자유롭게 이용할 수 있다.[70]

.ZIP 파일 포맷 사양의 가장 초기 버전은 1989년 PKZIP 0.9 패키지의 일부로 APPNOTE.TXT 파일로 처음 출판되었다.[69] 이 문서를 통해 배포됨으로써 1990년대에 ZIP 파일 형식과의 호환성이 공용 인터넷에서 널리 확산되었다.[36] 1989년 2월 14일, PKWARE와 Infinity Design Concepts는 공동 보도 자료를 통해 .ZIP 파일 형식을 퍼블릭 도메인에 공개했다.[5][6][7][8][9]

.ZIP 파일 포맷 사양에는 버전 번호가 있지만, PKZIP 도구의 버전 번호와 반드시 일치하지는 않는다(특히 PKZIP 버전 6 이후). PKWARE는 PKZIP 제품이 진보된 기능을 사용하여 아카이브를 전개할 수 있도록 기능을 여러 번 추가했지만, 그러한 아카이브를 생성하는 PKWARE 사양은 PKZIP의 다음 주요 릴리스까지 공개되지 않았다.

2010년 4월 ISO/IEC JTC 1에서 ZIP 호환 ISO/IEC 국제 표준 포맷을 만들기 위한 프로젝트를 결정하기 위한 투표가 실시되었다.[73]

2. 1. 태동기

1980년대 중반, Thom Henderson이 운영하던 System Enhancement Associates(SEA)사는 ARC 파일 형식을 사용하는 압축 프로그램 ARC를 발표했다.[3] 필 캐츠는 SEA사의 ARC 프로그램에 대응하여 더 빠른 압축 속도를 가진 PKXARC 프로그램을 개발했다. ZIP이라는 이름은 필 캐츠의 친구 로버트 마호니(Robert Mahoney)가 제안했다.[4] 이들은 자신들의 제품이 당시 ARC 및 기타 압축 형식보다 빠르다는 것을 암시하고자 했다.[4]

2. 2. 발전 과정

1980년대 중반, 톰 헨더슨이 운영하던 System Enhancement Associates(SEA)는 ARC 파일 형식으로 파일을 압축하고 해제하는 ARC 프로그램을 셰어웨어 형태로 배포했다. 이 형식은 곧 사실상의 표준이 되었다. 필 카츠는 IBM 호환기종에서 ARC와 호환되는 PKXARC 프로그램을 발표했는데, 이는 어셈블리어로 최적화되어 ARC보다 훨씬 빨랐다.[3]

ZIP이라는 이름은 캐츠의 친구 로버트 마호니가 제안한 것으로, 당시 ARC 및 다른 파일 형식보다 빠른 제품을 만들고자 하는 의지를 담고 있다.[4] 이 파일 형식은 PKWARE의 필 카츠와 Infinity Design Concepts의 게리 콘웨이가 설계했다. 이는 PKWARE의 PKARC가 SEA의 ARC 아카이브 시스템의 파생물이라고 주장하며 SEA가 PKWARE를 상대로 소송을 제기한 후에 만들어졌다.[3] 1989년, PKWARE는 PKZIP 0.9 패키지의 일부로 APPNOTE.TXT 파일을 통해 .ZIP 파일 형식 사양의 초기 버전을 발표했다. 이로 인해 1990년대에 ZIP 파일 형식과의 호환성이 공용 인터넷에서 널리 확산되었다.[36]

1989년 2월 14일, PKWARE와 Infinity Design Concepts는 공동 보도 자료를 통해 .ZIP 파일 형식을 퍼블릭 도메인에 공개했다.[5][6][7][8][9]

.ZIP 파일 포맷 사양은 자체 버전 번호를 가지며, PKZIP 도구의 버전 번호와 반드시 일치하지는 않는다. PKWARE는 다양한 시기에 고급 기능을 추가했지만, 이러한 기능을 사용하는 PKZIP 제품은 다음 주요 릴리스까지 제공되지 않는 경우가 많았다. 다른 회사나 조직은 자체 속도로 PKWARE 사양을 지원한다.

.ZIP 파일 포맷 사양은 "APPNOTE - .ZIP 파일 포맷 사양"으로 명명되었으며, 1990년대 후반부터 PKWARE.com 웹사이트에 게시되었다.[10]

PKWARE 사양의 주요 발전 사항은 다음과 같다:

버전내용
2.0DEFLATE 압축 및 기존 PKWARE 암호화(ZipCrypto) 지원.[1]
2.1Deflate64 압축 지원.
4.564비트 zip 형식 지원.[11]
4.6BZIP2 압축 지원.
5.0DES, Triple DES, RC2, RC4 암호화 지원.
5.2AES 암호화 지원 및 RC2-64 지원.[12][13]
6.1인증서 저장소 지원.[14]
6.2.0중앙 디렉토리 암호화 지원.[15]
6.3.0UTF-8 파일 이름 저장, LZMA, PPMd+, 블로우피시, Twofish 알고리즘 및 해시 목록 확장.[16]
6.3.1SHA-256/384/512에 대한 표준 해시 값 수정.[17]
6.3.2압축 방법 97(WavPack) 지원.[18]
6.3.3JTC 1 참조 설명 보고서(RER)와 같은 방법을 사용하여 다른 표준에서 PKWARE 응용 프로그램 노트를 참조할 수 있도록 문서 형식 변경.[19]
6.3.4PKWARE, Inc. 사무실 주소 업데이트.[20]
6.3.5압축 방법 16, 96 및 99, DOS 타임스탬프 에포크 및 정밀도, 키 및 복호화에 대한 추가 필드, 오타 및 설명 추가.[21]
6.3.6오타 수정.[22]
6.3.7Zstandard 압축 방법 ID 20 추가.[23]
6.3.8Zstandard 압축 방법 ID를 20에서 93으로 이동, 방법 ID 94 및 95(MP3, XZ) 추가.[24]
6.3.9데이터 스트림 정렬 설명의 오타 수정.[25]
6.3.10부록 B에 대한 여러 z/OS 속성 값 추가. 여러 추가 타사 추가 필드 매핑 추가.[26]



WinZip은 버전 12.1부터 Deflate보다 최신 압축 방법(BZip, LZMA, PPMd, Jpeg, Wavpack)을 사용하는 ZIP 파일에 .zipx 확장자를 사용한다.[27][28]

2. 3. 표준화

2010년 4월, ISO/IEC JTC 1은 ZIP과 호환되는 ISO/IEC 국제 표준 형식을 만들기 위한 프로젝트를 시작할지 여부를 결정하기 위한 투표를 시작했다.[29] "문서 패키징"이라는 제목의 이 제안된 프로젝트는 OpenDocument, Office Open XML, EPUB을 포함한 여러 기존 표준과 함께 사용하기에 적합한 ZIP 호환 '최소 압축 아카이브 형식'을 구상했다.

2015년에는 ISO/IEC 21320-1 "문서 컨테이너 파일 - 파트 1: 코어"가 발행되었으며 "문서 컨테이너 파일은 ZIP 파일을 준수한다"고 명시하고 있다.[30] 이 표준은 ZIP 파일 형식에 대해 다음과 같은 주요 제한 사항을 요구한다.[30]

  • ZIP 아카이브의 파일은 압축되지 않은 상태로 저장되거나 "deflate" 압축을 사용하여 저장되어야 한다(즉, 압축 방법은 "0" - 저장됨 또는 "8" - deflated 값을 가질 수 있다).
  • 암호화 기능은 금지된다.
  • 디지털 서명 기능(SES)은 금지된다.
  • "패치된 데이터" 기능(PKPatchMaker)은 금지된다.
  • 아카이브는 여러 볼륨으로 분할되거나 세분화될 수 없다.

3. 기술적 정보

ZIP 파일은 여러 파일을 보관하고 선택적으로 압축할 수 있는 아카이브 파일 형식이다. ZIP 형식은 1989년 필립 카츠가 고안했으며, PKWARE의 PKZIP 유틸리티에 처음 구현되었다.

ZIP 파일은 각 파일을 개별적으로 압축하는 방식을 사용한다. 즉, 전체 아카이브를 압축하거나 해제하지 않고도 파일을 추출하거나 추가할 수 있다. 이는 임의 접근이 어려운 tar 파일 형식과 대조적이다.

ZIP 파일의 끝에는 디렉토리가 위치하여 파일 목록을 빠르게 확인할 수 있다. 또한 ZIP 아카이브는 관련 없는 추가 데이터를 포함할 수 있어, 자체 압축 해제 아카이브를 만들거나 파일을 숨기는 데 사용될 수 있다.

ZIP 형식은 데이터 손실 보호를 위해 32비트 CRC 알고리즘을 사용하며, 각 항목 메타데이터의 두 가지 사본을 포함한다.[31]

ZIP 파일은 일반적으로 ".zip" 또는 ".ZIP" 파일 확장자를 가지며, MIME 유형은 `application/zip`이다. 마이크로소프트는 Windows 98 이후, 애플(Apple)은 Mac OS X v10.3 이후 ZIP 형식을 운영체제에 통합하여 지원하고 있다.

3. 1. 구조

ZIP 파일은 여러 파일들을 개별적으로 압축하여 저장하며, 각 파일은 독립적으로 압축 해제할 수 있다. ZIP 파일의 끝에는 파일 목록을 빠르게 확인할 수 있도록 하는 중앙 디렉토리(Central Directory)가 위치한다.

ZIP 파일 내의 각 항목은 다음과 같은 구조를 가진다.

  • 로컬 파일 헤더 (Local File Header): 파일 이름, 압축 방법, 크기 등 파일에 대한 정보를 담고 있다.
  • 파일 데이터: 압축되거나 암호화된 파일의 실제 내용이다.
  • 데이터 디스크립터 (Data Descriptor, 선택 사항): 압축된 파일의 CRC-32 값과 크기 정보를 담고 있다. 압축 시점에 이 정보를 알 수 없는 경우에 사용된다.


중앙 디렉토리의 각 항목은 로컬 파일 헤더의 확장된 형태이며, 추가적으로 파일 주석, 파일 시작 디스크 번호, 내부/외부 파일 속성 등의 정보를 포함한다.

ZIP 파일의 끝에는 중앙 디렉토리 종료 레코드(End of Central Directory Record, EOCD)가 위치하여 ZIP 파일의 끝을 나타낸다.

ZIP 형식은 파일의 다양한 구조를 나타내기 위해 4바이트 "시그니처"를 사용한다. 예를 들어, 로컬 파일 헤더는 `0x04034b50`, 중앙 디렉토리 파일 헤더는 `0x02014b50`, 중앙 디렉토리 종료 레코드는 `0x06054b50` 시그니처를 가진다.

다음은 각 헤더의 구조를 나타내는 표이다. 모든 멀티바이트 값은 리틀 엔디안 바이트 순서로 저장된다.

로컬 파일 헤더[32]
오프셋바이트설명
04로컬 파일 헤더 시그니처 = 0x04034b50 (PK♥♦ 또는 "PK\3\4")
42추출에 필요한 버전 (최소)
62범용 비트 플래그
82압축 방식 (예: 없음 = 0, DEFLATE = 8)
102파일 마지막 수정 시간
122파일 마지막 수정 날짜
144압축되지 않은 데이터의 CRC-32
184압축 크기 (또는 ZIP64의 경우 0xffffffff)
224압축되지 않은 크기 (또는 ZIP64의 경우 0xffffffff)
262파일 이름 길이 (n)
282추가 필드 길이 (m)
30n파일 이름
30+nm추가 필드



데이터 디스크립터[32]
오프셋바이트설명
00 또는 4선택 사항 데이터 디스크립터 시그니처 = 0x08074b50
0 또는 44압축 해제된 데이터의 CRC-32
4 또는 84 또는 8압축된 크기
8 또는 124 또는 8압축 해제된 크기



중앙 디렉토리 파일 헤더[32]
오프셋바이트설명
04중앙 디렉터리 파일 헤더 시그니처 = 0x02014b50
42생성된 버전
62추출에 필요한 버전 (최소)
82범용 목적 비트 플래그
102압축 방법
122파일 마지막 수정 시간
142파일 마지막 수정 날짜
164압축되지 않은 데이터의 CRC-32
204압축 크기 (또는 ZIP64의 경우 0xffffffff)
244압축되지 않은 크기 (또는 ZIP64의 경우 0xffffffff)
282파일 이름 길이 (n)
302추가 필드 길이 (m)
322파일 주석 길이 (k)
342파일이 시작되는 디스크 번호 (또는 ZIP64의 경우 0xffff)
362내부 파일 속성
384외부 파일 속성
424로컬 파일 헤더의 상대 오프셋 (또는 ZIP64의 경우 0xffffffff)
46n파일 이름
46+nm추가 필드
46+n+mk파일 주석



중앙 디렉터리 종료 레코드 (EOCD)[32]
오프셋바이트설명
04중앙 디렉터리 종료 시그니처 = 0x06054b50
42이 디스크의 번호 (ZIP64의 경우 0xffff)
62중앙 디렉터리가 시작되는 디스크 (ZIP64의 경우 0xffff)
82이 디스크의 중앙 디렉터리 레코드 수 (ZIP64의 경우 0xffff)
102전체 중앙 디렉터리 레코드 수 (ZIP64의 경우 0xffff)
124중앙 디렉터리의 크기 (바이트) (ZIP64의 경우 0xffffffff)
164아카이브 시작부터 중앙 디렉터리 시작까지의 오프셋 (ZIP64의 경우 0xffffffff)
202주석 길이 (n)
22n주석


3. 2. 압축 방식

ZIP 파일 형식은 저장(무압축), 축소(LZW), 감소(레벨 1–4; LZ77 + 확률적), 임플로드, 디플레이트, Deflate64, bzip2, LZMA, Zstandard, WavPack, PPMd, IBM z/OS CMPSC 명령어가 제공하는 LZ77 변형 등 다양한 압축 방식을 지원한다.[34][26] 가장 일반적으로 사용되는 압축 방법은 DEFLATE이며, 이는 IETF RFC 1951에 설명되어 있다.

현재 ZIP 파일 형식 사양에 자세히 기재되어 있는 메서드는 다음과 같다.

  • stored(무압축)
  • Shrunk
  • Reduced(메서드 1-4)
  • Imploded
  • Tokenizing
  • Deflated
  • Deflate64
  • BZIP2
  • LZMA (EFS)
  • WavPack
  • PPMd

3. 3. 암호화

ZIP 형식은 일반적으로 ZipCrypto로 알려진 기본적인 대칭키 암호화 방식을 지원한다. 하지만 이 방식은 심각한 보안 취약점이 있는 것으로 알려져 있다. 특히, 기지 평문 공격에 취약하며, 일부 경우 난수 생성기의 부실한 구현으로 인해 보안이 더욱 약화될 수 있다.[36]

WinZip 등 일부 프로그램은 고급 암호화 표준(AES) 암호화를 지원한다. WinZip에서 개발한 AES 기반의 개방형 표준("APPNOTE의 AE-x")은 7-Zip 및 Xceed 등에서도 사용되지만, 일부 업체들은 다른 형식을 사용하기도 한다.[38]

PKWARE SecureZIP (SES, 독점)은 RC2, RC4, DES, Triple DES 등 다양한 암호화 방식과 X.509 디지털 인증서 기반 암호화 및 인증, 아카이브 헤더 암호화를 지원한다. 그러나 이는 특허를 받았다.[39]

파일 이름 암호화는 .ZIP 파일 형식 명세 6.2에 도입되었는데, 아카이브의 중앙 디렉터리 부분에 저장된 메타데이터를 암호화하지만 로컬 헤더 섹션은 암호화되지 않은 상태로 유지된다. 이 때문에 호환되는 압축 유틸리티가 중앙 디렉터리 암호화를 사용할 때 로컬 헤더 데이터를 위조할 수 있는 문제점이 있다.

3. 4. ZIP64

기존 ZIP 형식은 파일의 압축되지 않은 크기, 압축된 크기, 아카이브 총 크기 등 다양한 항목에 대해 4 GB (232 바이트) 제한이 있었고, ZIP 아카이브에 65,535 (216-1)개의 항목 제한도 있었다.[40] PKWARE는 사양 버전 4.5(특정 도구의 v4.5와 같지 않음)에서 이러한 제한을 해결하기 위해 "ZIP64" 형식 확장을 도입하여 제한을 16 EB (264 바이트)로 늘렸다.[40]

로컬 파일 헤더(LOC)와 중앙 디렉토리 파일 헤더(CDFH)의 형식은 ZIP과 ZIP64에서 동일하다. 그러나 ZIP64는 압축기가 재량에 따라 이러한 레코드에 추가할 수 있는 추가 필드를 지정하며, 그 목적은 클래식 LOC 또는 CDFH 레코드에 맞지 않는 값을 저장하는 것이다. 실제 값이 ZIP64 추가 필드에 저장되어 있음을 알리기 위해 해당 LOC 또는 CDFH 레코드에서 0xFFFF 또는 0xFFFFFFFF로 설정된다. 하나의 항목이 클래식 LOC 또는 CDFH 레코드에 맞지 않으면 해당 항목만 ZIP64 추가 필드로 이동해야 한다. 다른 항목은 클래식 레코드에 유지될 수 있다.

Zip64 확장 정보 추가 필드
오프셋바이트설명[32]
02헤더 ID 0x0001
22추가 필드 청크의 크기(8, 16, 24 또는 28)
48원본 압축되지 않은 파일 크기
128압축된 데이터의 크기
208로컬 헤더 레코드의 오프셋
284이 파일이 시작되는 디스크 번호



ZIP64의 중앙 디렉토리 레코드 종료(EOCD64) 형식은 일반 ZIP 버전과 약간 다르다.[32]

Zip64 중앙 디렉토리 레코드 종료 (EOCD64)
오프셋바이트설명[32]
04중앙 디렉토리 시그니처 종료 = 0x06064b50
48EOCD64의 크기에서 12를 뺀 값
122생성된 버전
142추출에 필요한 버전(최소)
164이 디스크의 번호
204중앙 디렉토리가 시작되는 디스크
248이 디스크의 중앙 디렉토리 레코드 수
328중앙 디렉토리 레코드의 총 수
408중앙 디렉토리의 크기(바이트)
488아카이브 시작을 기준으로 중앙 디렉토리 시작의 오프셋
56n주석 (EOCD64의 크기까지)



윈도우 XP의 파일 탐색기는 ZIP64를 지원하지 않지만, 윈도우 비스타 이상 버전의 탐색기는 지원한다. 마찬가지로, DotNetZip, QuaZIP[41], Perl의 IO::Compress::Zip과 같은 일부 확장 라이브러리도 ZIP64를 지원한다. 파이썬의 내장 zipfile은 2.5부터 이를 지원하며 3.4부터 기본적으로 지원한다.[42] OpenJDK의 내장 java.util.zip은 Java 7 버전부터 ZIP64를 지원한다.[43] Android Java API는 Android 6.0부터 ZIP64를 지원한다.[44] Mac OS Sierra의 아카이브 유틸리티는 ZIP64를 지원하지 않으며, ZIP64가 필요할 때 손상된 아카이브를 만들 수 있다.[45] 그러나 Mac OS와 함께 제공되는 ditto 명령은 ZIP64 파일을 압축 해제한다.[46]

4. 구현

WinZip, WinRAR, Info-ZIP, 7-Zip, PeaZip 등 다양한 플랫폼에서 사용할 수 있는 여러 ZIP 도구들이 존재한다. 이러한 도구들 중 일부는 라이브러리 또는 프로그래밍 인터페이스를 제공한다.[68]

libzip, libarchive, Info-ZIP 등 오픈 소스 라이선스 하에 제공되는 개발 라이브러리도 존재한다. Java의 경우, Java 표준 에디션에 표준 ZIP 파일을 처리하기 위한 "java.util.zip" 패키지가 포함되어 있다. Zip64File 라이브러리는 특히 4GB 이상의 대용량 파일을 지원하며, 무작위 접근을 통해 ZIP 파일을 처리한다. Apache Ant 도구에는 Apache Software License에 따라 배포되는 더 완전한 구현도 포함되어 있다.[68]

Info-ZIP의 ZIP 형식 구현은 사용자 및 그룹 ID, 파일 권한, 심볼릭 링크와 같은 Unix 파일 시스템 기능을 지원한다. Apache Ant 구현은 미리 정의된 Unix 권한으로 파일을 생성할 수 있을 정도로 이러한 기능을 인식한다. Info-ZIP 구현은 ZIP 압축 형식에 내장된 오류 수정 기능을 사용하는 방법도 알고 있다. 일부 프로그램은 오류가 있는 파일에서 실패할 수 있다.[68]

Info-ZIP Windows 도구는 NTFS 파일 시스템 권한도 지원하며, 파일을 추출할 때 NTFS 권한에서 Unix 권한으로 또는 그 반대로 변환하려고 시도한다. 이는 잠재적으로 의도하지 않은 조합을 초래할 수 있다.[68]

Microsoft Windows는 Microsoft Plus! 팩이 Windows 98용으로 출시된 이후 탐색기에서 "압축 폴더"라는 이름으로 ZIP 압축을 지원해 왔다. Windows 압축 폴더 기능은 모든 ZIP 기능을 지원하지는 않는다. 예를 들어, 암호화는 Windows 10 Home 에디션에서는 지원되지 않지만[55] 해독은 가능하다. 유니코드 항목 인코딩은 Windows 7까지 지원되지 않았으며, 분할 및 확장된 아카이브는 압축 폴더 기능에서 읽거나 쓸 수 없다. AES 암호화 또한 지원되지 않는다.[56]

5. 한국에서의 이용

한국에서는 1990년대 후반 PC 통신 시절부터 파일 공유의 주요 수단으로 ZIP 형식이 활용되었다. 한글 윈도우 환경에서는 ZIP 파일 생성 시 파일명 인코딩 문제(CP949 사용)가 발생하기도 했다. ZIP 형식은 6.3.0 이전 버전에서는 파일 이름을 유니코드로 저장하는 것을 지원하지 않았다.[61] 당시 표준에 따르면 파일 이름은 CP437 인코딩으로 저장되어야 했지만,[61] 실제로는 DOS 아카이버가 시스템에 설치된 문자 인코딩을 사용했다. 윈도우 내장 아카이버도 아카이브 생성 시 호환성을 위해 시스템 언어에 해당하는 DOS 인코딩을 사용했다.

이후 ZIP 표준은 유니코드 파일 이름 저장을 위해 두 가지 옵션을 포함하도록 업데이트되었다.[61] 첫째는 일반 목적 비트 플래그 필드의 11번째 비트를 설정하여 파일 이름이 UTF-8로 간주되도록 하는 것이고, 둘째는 유니코드 경로 추가 필드를 사용하여 UTF-8로 인코딩된 파일 이름을 저장하는 것이다. 다만, 윈도우 플랫폼의 일부 아카이버는 과거에 ANSI 인코딩을 사용하기도 했다.[62]

이러한 인코딩 문제로 인해 일부 ZIP 압축 해제 프로그램에서는 국가별 알파벳 문자 대신 "mojibake"라고 알려진 깨진 문자가 나타나는 현상이 발생했다. 2016년에는 Linux, BSD 및 Mac용 far2l 파일 및 아카이브 관리자에서 이 문제가 해결되었으며,[63] 2024년에는 Debian 및 Ubuntu 배포판에 사용되는 7zip 및 unzip 버전에도 유사한 솔루션이 추가되었다.[62]

현재는 UTF-8 인코딩 지원으로 대부분의 문제가 해결되었다.

6. 기타

ZIP 형식은 압축 해제 시 매우 큰 크기로 확장되는 ZIP 폭탄을 만드는 데 악용될 수 있다. 원시 DEFLATE 스트림의 이론적 최대 압축률은 약 1032:1이지만, ZIP 형식을 의도하지 않은 방식으로 악용하면 수십억:1의 압축률을 가진 ZIP 보관 파일을 만들 수 있다.[48]

ZIP 형식을 기반으로 하는 많은 애플리케이션들은 고유 확장자를 사용한다.

확장자설명
apkAndroid의 애플리케이션 아카이브
crx구글 크롬 및 크로미움의 확장 기능 아카이브 파일
docx, xlsx, pptx마이크로소프트 오피스(2007 이후)의 문서 형식 (Office Open XML)
epubIDPF가 제안하는 전자책 표준 형식
ipa아이폰 시리즈를 비롯한 iOS 탑재 장치용 애플리케이션 아카이브
ipg아이팟 게임 아카이브 파일
jarJava 아카이브 파일
kmz구글 어스의 표준 파일 형식. kml을 ZIP 압축한 것.
nar우카의 INSTALL/1.x 사양에 준거한 아카이브 파일
odt, ods, odp, odb, odg, odfOpenDocument의 문서 형식
smzipStepMania의 각종 자동 설치형 패키지 파일
wgtW3C Packaged Web Apps (W3C 위젯)의 패키지 파일. Bada 위젯, 타이젠 웹 애플리케이션, Opera 위젯 등.
wsz윈앰프용 스킨 파일
wmz윈도우 미디어 플레이어용 스킨 파일
xpi모질라 파이어폭스 (및 이를 기반으로 하는 넷스케이프 웹 브라우저 등) 및 모질라 썬더버드 등의 확장 기능 (애드온) 설치 프로그램 파일 (XPInstall)
3mf3D 프린터용 3D 파일


6. 1. 유사 포맷

"zip"이라는 이름을 사용하는 다른 수많은 표준 및 형식이 있다. 예를 들어, zip은 gzip과 다르며, gzip은 IETF RFC|1952영어에서 정의된다. zip과 gzip은 주로 DEFLATE 알고리즘을 압축에 사용한다. 마찬가지로, ZLIB 형식(RFC|1950영어) 역시 DEFLATE 압축 알고리즘을 사용하지만, 오류 및 일관성 검사를 위한 다른 헤더를 지정한다. 다른 일반적인 형식과 프로그램으로는 7-Zip, bzip2, rzip 등이 있으며, 자체적인 고유 형식을 사용한다.

이름의 일부에 "zip"이라는 이름을 사용한 표준화 사양이나 포맷이 많이 있다. 같은 Deflate 압축 알고리즘을 사용하면서, 헤더・푸터가 다른 것으로는 gzip (RFC|1952영어) 나 zlib (RFC|1950영어) 등이 있다. 그 외, 매우 비슷한 이름의 다른 파일 포맷이나 압축 알고리즘으로 7z, bzip2, rzip 등이 있다.

6. 2. ZIP 폭탄

ZIP 형식은 압축 해제 시 매우 큰 크기로 확장되는 ZIP 폭탄을 만드는 데 악용될 수 있다. 원시 DEFLATE 스트림의 이론적 최대 압축률은 약 1032:1이지만, ZIP 형식을 의도하지 않은 방식으로 악용하면 수십억:1의 압축률을 가진 ZIP 보관 파일을 만들 수 있다.[48]

6. 3. 소프트웨어의 고유 확장자

ZIP 형식을 기반으로 하는 많은 애플리케이션들은 고유 확장자를 사용한다. 다음은 그 예시이다.

확장자설명
apkAndroid의 애플리케이션 아카이브
crx구글 크롬 및 크로미움의 확장 기능 아카이브 파일
docx, xlsx, pptx마이크로소프트 오피스(2007 이후)의 문서 형식 (Office Open XML)
epubIDPF가 제안하는 전자책 표준 형식
ipa아이폰 시리즈를 비롯한 iOS 탑재 장치용 애플리케이션 아카이브
ipg아이팟 게임 아카이브 파일
jarJava 아카이브 파일
kmz구글 어스의 표준 파일 형식. kml을 ZIP 압축한 것.
nar우카의 INSTALL/1.x 사양에 준거한 아카이브 파일
odt, ods, odp, odb, odg, odfOpenDocument의 문서 형식
smzipStepMania의 각종 자동 설치형 패키지 파일
wgtW3C Packaged Web Apps (W3C 위젯)의 패키지 파일. Bada 위젯, 타이젠 웹 애플리케이션, Opera 위젯 등.
wsz윈앰프용 스킨 파일
wmz윈도우 미디어 플레이어용 스킨 파일
xpi모질라 파이어폭스 (및 이를 기반으로 하는 넷스케이프 웹 브라우저 등) 및 모질라 썬더버드 등의 확장 기능 (애드온) 설치 프로그램 파일 (XPInstall)
3mf3D 프린터용 3D 파일


참조

[1] 간행물 Registration of a new MIME Content-Type/Subtype - application/zip https://www.iana.org[...] IANA 1993-07-20
[2] 뉴스 Phillip Katz, Computer Software Pioneer, 37 https://www.nytimes.[...] 2000-05-01
[3] 뉴스 The Rise and Fall of a Software Star; Phil Katz Loved Code -- and Liquor https://www.wsj.com/[...] 1997-08-15
[4] 웹사이트 The BBS Documentary Library http://www.bbsdocume[...] 2020-09-25
[5] 간행물 PKZip Must Open Up http://brianlivingst[...] 2003-09-08
[6] 간행물 Where Did Zip Files Come From Anyway? http://www.idcnet.us[...] Infinity Design Concepts, Inc. 2012-01-05
[7] 간행물 Press Release http://cd.textfiles.[...] 2012-01-05
[8] 간행물 Our Founder - Phil Katz http://www.pkware.co[...] PKWARE 2012-01-05
[9] 간행물 sc34-wg1 http://mailman.vse.c[...] 2012-01-05
[10] 간행물 .ZIP Application Note http://www.pkware.co[...] 2012-07-20
[11] 간행물 'File: APPNOTE.TXT - .ZIP File Format Specification Version: 4.5 Revised: 11/01/2001' http://www.pkware.co[...] 2012-04-21
[12] 간행물 APPNOTE.TXT - .ZIP File Format Specification, Version: 5.2 - Notification of Change http://www.pkware.co[...] 2012-01-05
[13] 간행물 'File: APPNOTE.TXT - .ZIP File Format Specification Version: 5.2 - Notification of Change – Revised: 06/02/2003' http://pkware.com/pr[...] 2012-04-21
[14] 간행물 'File: APPNOTE - .ZIP File Format Specification Version: 6.1.0 - Notification of Change – Revised: 01/20/2004' http://www.pkware.co[...] 2012-04-21
[15] 간행물 APPNOTE.TXT - .ZIP File Format Specification, Version: 6.2.0 - Notification of Change http://www.pkware.co[...] 2012-01-05
[16] 간행물 APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.0 http://www.pkware.co[...] 2012-01-05
[17] 간행물 APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.1 http://www.pkware.co[...] 2018-06-25
[18] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.2 http://www.pkware.co[...] 2018-06-25
[19] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.3 http://www.pkware.co[...] 2018-06-25
[20] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.4 http://www.pkware.co[...] 2018-06-25
[21] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.5 http://www.pkware.co[...] 2019-01-03
[22] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.6 http://www.pkware.co[...] 2019-01-03
[23] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.7 http://www.pkware.co[...] 2020-06-06
[24] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.8 http://www.pkware.co[...] 2020-07-07
[25] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.9 http://www.pkware.co[...] 2020-08-08
[26] 간행물 APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.10 https://pkware.cache[...] 2022-11-20
[27] 웹사이트 Additional Compression Methods Specification http://www.winzip.co[...] WinZip Computing, S.L 2009-05-19
[28] 웹사이트 What is a Zipx File? http://kb.winzip.com[...] WinZip Computing, S.L 2010-08-13
[29] 웹사이트 ISO/IEC JTC 1/SC 34 — Document Description and Processing Languages http://kikaku.itscj.[...] 2010-04-12
[30] 웹사이트 ISO/IEC 21320-1:2015 Document Container File — Part 1: Core http://www.iso.org/i[...] ITTF 2015-01-01
[31] 웹사이트 The .ZIP File Format https://www.neperos.[...] 2023-01-01
[32] 웹사이트 'File : APPNOTE.TXT - .ZIP File Format Specification : Version: 6.3.4' http://www.pkware.co[...] 2017-09-09
[33] 웹사이트 'File: APPNOTE.TXT - .ZIP File Format Specification' https://pkware.cache[...] PKWARE Inc. 2022-02-21
[34] 웹사이트 How are zlib, gzip and zip related? What do they have in common and how are they different? https://stackoverflo[...] 2018-11-27
[35] 웹사이트 Frequently Asked Questions about zlib https://www.zlib.net[...]
[36] 웹사이트 ZIP Attacks with Reduced Known Plaintext http://math.ucr.edu/[...] 2017-09-09
[37] 웹사이트 How To Password Protect A Zip File https://www.technews[...] 2021-09-15
[38] 웹사이트 AES Encryption Information: Encryption Specification AE-1 and AE-2 https://www.winzip.c[...] 2017-09-09
[39] 웹사이트 APPNOTE - PKZIP/SecureZIP - PKWARE Support Site http://www.pkware.co[...] 2017-09-09
[40] 웹사이트 'File : APPNOTE.TXT - .ZIP File Format Specification : Version: 6.3.4' https://pkware.cache[...] 2017-09-09
[41] 웹사이트 QuaZIP changes http://sourceforge.n[...] 2014-01-25
[42] 웹사이트 Python enhancement: Use allowZip64=True by default (3.4) http://bugs.python.o[...] 2014-05-06
[43] 웹사이트 ZIP64, The Format for > 4G Zipfile, Is Now Supported https://blogs.oracle[...] Sun Microsystems 2009-04-17
[44] 웹사이트 Sign in - Google Accounts https://code.google.[...] 2017-09-09
[45] 웹사이트 'Error: invalid central directory file header signature when unzipping big files, zipped by mac os · Issue #69 · thejoshwolfe/yauzl' https://github.com/t[...]
[46] 웹사이트 Extract large zip file (50 GB) on Mac OS X https://superuser.co[...] 2018-12-17
[47] 웹사이트 A photo that can steal your online credentials http://www.infoworld[...] 2017-09-09
[48] 웹사이트 ZipArchive: Zip64 Format: Crossing the Limits of File Sizes and Number of Files and Segments http://www.artpol-so[...] 2017-09-09
[49] 웹사이트 Seek-optimized ZIP (SOZip) profile https://github.com/s[...] 2023-01-11
[50] 웹사이트 WinZip – AES Encryption Information http://www.winzip.co[...] 2017-09-09
[51] 웹사이트 PKWare seeks patent for .zip file format https://web.archive.[...] 2003-07-25
[52] 웹사이트 Software makers patch Zip tiff http://www.news.com/[...] 2017-09-09
[53] 웹사이트 Zip file encryption compromise thrashed out https://www.theregis[...] 2017-09-09
[54] 웹사이트 AES Encryption Information: Encryption Specification AE-1 and AE-2 http://www.winzip.co[...] 2017-09-09
[55] 웹사이트 2 Ways To Fix "Encrypt Contents To Secure Data" Option Grayed Out In Windows 10 https://www.itechtic[...] 2017-08
[56] 웹사이트 Why is Windows Compressed Folders (Zip folders) support stuck at the turn of the century? https://devblogs.mic[...] 2018-05-15
[57] 뉴스 Adding ZIP file support to Windows 30 years ago almost got the creator of Task Manager fired https://www.tomshard[...] 2024-04-20
[58] Youtube 06.Secret History of Windows ZIPFolders https://www.youtube.[...] YouTube 2021-01-08
[59] Youtube How Creating ZIPFolders for Windows almost got me FIRED from Microsoft! https://www.youtube.[...] YouTube 2024-04-17
[60] 웹사이트 How ODT files are structured https://opensource.c[...] 2022-08-15
[61] 웹사이트 APPNOTE.TXT - .ZIP File Format Specification https://pkwaredownlo[...] 2020-07-15
[62] 웹사이트 ubuntu/+source/unzip - [no description] https://git.launchpa[...]
[63] 웹사이트 'error processing archives with non-english characters in the names of archived files/folders · Issue #114 · elfmz/far2l' https://github.com/e[...] 2024-05-23
[64] 웹사이트 Use system locale to select codepage for legacy zip archives (!8) · Merge requests · Debian / 7zip · GitLab https://salsa.debian[...] 2024-05-22
[65] 웹사이트 zlib Technical Details https://www.zlib.net[...] 2019-07-10
[66] 뉴스 The Most Clever 'Zip Bomb' Ever Made Explodes a 46MB File to 4.5 Petabytes https://www.vice.com[...] 2019-07-10
[67] 웹사이트 Jargon File - zip http://www.catb.org/[...] 2003-12-29
[68] 뉴스 Phillip Katz, Computer Software Pioneer, 37 https://www.nytimes.[...] The New York Times 2000-05-01
[69] 문서 APPNOTE.TXT
[70] 웹사이트 PKZip Must Open Up http://brianlivingst[...] eWEEK 2003-09-08
[71] 웹사이트 Additional Compression Methods Specification http://www.winzip.co[...] WinZip Computing, S.L 2009-05-19
[72] 웹사이트 What is a Zipx File? http://kb.winzip.com[...] WinZip Computing, S.L 2010-08-13
[73] 문서 http://www.itscj.ips[...]
[74] 문서 http://www.pkware.co[...]
[75] 문서 ZIP Attacks with Reduced Known Plaintext https://math.ucr.edu[...] Michael Stay
[76] 문서 AES Encryption Information: Encryption Specification AE-1 and AE-2 http://www.winzip.co[...]
[77] 문서 Application Note on the .ZIP file format http://www.pkware.co[...]
[78] 웹사이트 ZIP64, The Format for > 4G Zipfile, Is Now Supported http://blogs.sun.com[...] Sun 2010-09-27
[79] 문서 A photo that can steal your online credentials http://www.infoworld[...]
[80] 웹사이트 ZIPファイルを解凍するには?(ZipArchive編)[C#、VB] https://atmarkit.itm[...] atmarkIT 2017-06-24
[81] 문서 http://www.codeplex.[...]
[82] 문서 http://www.codeplex.[...]
[83] 문서 http://msdn.microsof[...]
[84] 문서 File names are corrupted after you decompress a .zip file in Windows 7 or in Windows Server 2008 R2 http://support.micro[...]
[85] 문서 WinZip - AES Encryption Information http://www.winzip.co[...]
[86] 뉴스 The .zip standard splinters | InfoWorld | News | 2003-06-10 | By Lincoln Spector, PC World.com http://www.infoworld[...]
[87] 뉴스 PKWare seeks patent for .zip file format | InfoWorld | News | 2003-07-25 | By Robert McMillan, IDG News Service http://www.infoworld[...]
[88] 뉴스 Software makers patch Zip tiff - CNET News.com http://www.news.com/[...]
[89] 문서 http://www.theregist[...]
[90] 인용 Registration of a new MIME Content-Type/Subtype - application/zip http://www.iana.org/[...] IANA 2012-01-05
[91] 참고 (linux ubuntu , zip -?)-O CHARSET specify a character encoding for DOS, Windows and OS/2 archives



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com