이메일에 파일을 첨부할 때, 웹에서 파일을 내려받을 때 ZIP 파일을 자주 만난다. ZIP 압축은 어떤 원리로 파일 크기를 줄일까.
압축의 기본 원리
압축은 데이터의 반복 패턴을 찾아 더 짧게 표현하는 것이다.
예: "AAAAAABBBBB"를 "6A5B"로 표현 (런 길이 인코딩)
실제 ZIP은 DEFLATE 알고리즘을 사용한다. LZ77(반복 문자열 참조)과 허프만 코딩(자주 나오는 문자를 짧게)을 결합한 방식이다.
어떤 파일이 잘 압축되나
모든 파일이 똑같이 압축되지 않는다.
잘 압축되는 파일: 텍스트, 로그, 문서 파일 (80%+ 압축 가능) 보통: 이미지 BMP, TIFF (50~70%) 거의 압축 안 됨: JPG, PNG, MP4, MP3 (이미 압축된 형식)
이미 압축된 파일(JPG, MP4)을 다시 ZIP으로 묶으면 오히려 크기가 늘어날 수 있다.
ZIP vs 다른 압축 형식
ZIP: 범용성 최고. 모든 OS에서 기본 지원. RAR: 압축률이 조금 더 좋지만 전용 프로그램 필요. 7z: 가장 높은 압축률이지만 대중성이 낮음. TAR.GZ: 리눅스/맥에서 주로 사용. 압축+아카이브 분리.
패스워드 ZIP의 보안성
ZIP 파일에 비밀번호를 걸 수 있지만, 기존 ZipCrypto 암호화는 취약점이 있어 쉽게 뚫린다. 중요한 파일은 AES-256 암호화를 지원하는 7z나 전용 암호화 도구를 쓰는 것이 안전하다.
ToolZip 도구 바로가기
ZIP 압축·해제 바로가기 → https://www.toolzip.app/tools/zip-tool
JSZip 라이브러리를 사용해 브라우저에서만 처리된다. 파일이 서버로 전송되지 않는다.
ZIP 압축: 여러 파일 동시 추가 (드래그 또는 클릭) 파일 개별 제거 가능 ZIP 파일명 직접 입력 DEFLATE 압축 (레벨 6 기본)
ZIP 해제: ZIP 파일 업로드 파일 목록 미리보기 전체 압축 해제 (개별 다운로드)
정리
- ✅ 설치 없이 브라우저에서 바로 사용
- ✅ 파일이 서버로 전송되지 않음
- ✅ 완전 무료