.BZ2 파일 확장자
.BZ2 확장자를 가진 파일은 BZIP2 알고리즘을 사용하여 압축됩니다. Julian Seward가 개발한 이 무료 오픈 소스 도구는 인상적인 압축 비율을 달성하므로 대용량 파일이나 데이터 세트를 축소하는 데 이상적입니다. ZIP 과 같은 아카이브 형식과 달리 BZIP2는 단일 파일만 압축합니다. 고맙게도 BZ2 파일을 생성하고 추출하는 것은 해당 형식을 지원하는 대부분의 파일 아카이버에서 간단합니다. BZIP2는 압축 및 압축 풀기의 효율성으로 인해 소프트웨어 배포, 데이터 백업 및 인터넷 전송에 널리 사용됩니다.
BZIP2 아카이브 정보
GZIP 와 유사하게 BZ2는 데이터 압축기 역할을 하지만 TAR 또는 ZIP과 같은 아카이버의 다양성이 부족합니다. 이러한 형식과 달리 BZIP2는 여러 파일을 단일 아카이브로 압축하는 것을 지원하지 않으며 암호화 또는 아카이브 분할 기능도 제공하지 않습니다. UNIX 전통에서 아카이브는 일반적으로 압축에만 사용되는 BZIP2를 사용하여 별도로 처리됩니다. 그러나 BZIP2를 사용한 압축 해제는 특히 느린 압축 속도에 비해 매우 효율적입니다. 이러한 불균형을 해결하기 위해 2003년에 PBZIP2라는 수정 버전이 등장했습니다. 이 버전은 멀티 스레딩을 활용하여 최신 멀티 CPU 및 멀티 코어 시스템의 압축 시간을 획기적으로 향상시켰습니다.
.BZ2 아카이브 파일 형식 기록 정보
BZIP2 압축과 관련된 .BZ2 파일 형식은 1990년대 후반 UNIX 커뮤니티 내에서 Julian Seward의 개발 노력으로 거슬러 올라갑니다. 수년에 걸쳐 알고리즘은 유지 관리에서 여러 전환을 거쳤으며 Micah Snyder가 2021년 6월에 관리자 역할을 맡았습니다. 이러한 발전과 함께 PBZIP2와 같은 수정 사항이 등장하여 멀티 스레딩 기능을 활용하여 최신 멀티 CPU에서 압축 속도를 향상시켰습니다. 및 멀티 코어 시스템. 이러한 발전에도 불구하고 .BZ2 형식의 핵심 원칙은 Burrows-Wheeler 변환, 앞으로 이동 변환 및 Huffman 코딩 기술의 효율적인 사용에 기반을 두고 있습니다.
BZIP2 아카이브의 구조
BZIP2는 블록 기반 압축을 사용하며 일반적으로 크기가 100~900kB 범위인 블록으로 데이터를 압축합니다. Burrows-Wheeler 변환을 활용하여 반복되는 문자 시퀀스를 동일한 문자의 문자열로 변환한 다음 앞으로 이동 변환 및 허프만 코딩을 수행합니다. 특히 이전 버전인 bzip은 압축을 위해 Huffman 대신 산술 코딩을 사용했습니다.
BZIP2 압축 방법
불행하게도 BZIP2에는 일부 대응 제품에서 볼 수 있는 다양한 압축 기술이 부족합니다. 대신 데이터 압축에 대해 세심하게 제작된 단일 접근 방식을 사용합니다. 이 기술의 특징은 다음과 같습니다.
- 블록 정렬: BZIP2는 개별 압축을 위해 데이터를 더 작은 블록으로 나눕니다.
- Burrows-Wheeler 변환: 이 단계에서는 반복 패턴을 식별하여 압축 효율성을 높이기 위해 각 블록 내의 데이터를 재배열합니다.
- 뒤로 이동: 그런 다음 알고리즘은 변환된 데이터를 뒤로 반복하여 추가 압축을 위해 허프만 코딩을 적용합니다.
- 런길이 인코딩: 이 기술은 추가 공간 절약을 위해 데이터 블록 내에서 반복되는 문자를 식별하고 인코딩합니다.
BZIP2 아카이브 지원 작업
Aspose.ZIP은 추출, 압축, 파일 압축, 병합 및 아카이브 변환을 포함하여 .BZ2 파일 아카이브에 대한 다양한 작업을 용이하게 합니다. 사용자는 .BZ2 아카이브에서 데이터를 원활하게 추출하고, 파일을 압축하고, 아카이브를 병합하고, 다양한 아카이브 형식 간에 쉽게 변환할 수 있습니다. 또한 Aspose.ZIP 는 관리 용이성과 저장 효율성 향상을 위해 대규모 .BZ2 아카이브를 여러 볼륨으로 분할하는 기능을 지원합니다.
BZIP2 - 내부 구조
bzip2에 대한 공식 사양은 없지만 참조 구현의 리버스 엔지니어링을 통해 비공식 사양이 도출되었습니다. 본질적으로 .bz2 스트림은 간결한 4바이트 헤더로 시작하고, 이어서 압축된 블록 수에 관계없이 이어지며, 처리된 전체 일반 텍스트 스트림에 대한 32비트 CRC 체크섬을 특징으로 하는 스트림 끝 마커로 원활하게 마무리됩니다. 특히 압축된 블록은 추가 패딩이 필요 없이 비트 수준으로 정렬됩니다. 이 간소화된 구조는 bzip2 압축 형식의 효율성과 단순성을 강조합니다.
초기 단계에서 RLE 압축을 거친 후(위 참조) bzip2의 단일 900KB 블록에 들어갈 수 있는 압축되지 않은 텍스트의 최대 길이는 다음과 같습니다. 약 46MB(45,899,236바이트)입니다. 이 시나리오는 압축되지 않은 전체 텍스트가 반복된 값으로 완전히 구성되어 있을 때 발생합니다(결과적으로 46바이트의 .bz2 파일 생성). 전체 값 251로 구성된 입력 데이터를 활용하면 40바이트만큼 작은 파일도 얻을 수 있으며, 그 결과 1,147,480.9:1이라는 놀라운 압축률을 얻을 수 있습니다. 이 놀라운 업적은 bzip2 압축 알고리즘의 놀라운 효율성과 다양성을 보여줍니다.
BZIP2 아카이브 및 지원의 인기
.BZ2 아카이브는 .ZIP 또는 .7z 형식만큼 널리 사용되지는 않지만 여전히 특정 응용 프로그램, 특히 Unix 및 Linux 환경에서 유틸리티를 찾습니다. 강력한 압축 기능을 제공하며 다양한 운영 체제 및 소프트웨어 도구에서 잘 지원됩니다. 틈새 시장 지위에도 불구하고 BZIP2 아카이브는 소프트웨어 배포 및 데이터 백업 패키징을 위한 신뢰할 수 있는 선택으로 남아 있습니다. .BZ2 파일에 대한 지원은 광범위하며 파일 생성 및 추출을 위한 내장 기능을 제공하는 많은 보관 도구와 스크립팅 언어가 있습니다. 그러나 새로운 압축 알고리즘이 등장함에 따라 BZIP2 아카이브의 인기와 사용이 계속해서 발전할 수 있습니다.
BZIP2 사용 예
Aspose.ZIP은 Bzip2 압축을 다음 단계로 끌어올립니다. Aspose.ZIP은 CPU의 병렬 처리 성능을 활용하여 압축 작업 부하를 여러 코어로 나눌 수 있습니다. 이는 특히 대규모 데이터 세트의 경우 압축 시간이 훨씬 빨라진다는 것을 의미합니다. Aspose.ZIP을 사용하여 병렬 압축을 활성화하는 것은 CompressionThreads 속성을 1보다 큰 값으로 설정하는 것만큼 쉽습니다.
Parallel Compression for BZ2 Files
This simple configuration unlocks the full potential of your multi-core processor, dramatically accelerating your Bzip2 compression tasks.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("result.bz2", new Bzip2SaveOptions() { CompressionThreads = Environment.ProcessorCount });
}
Bzip2SaveOptions.CompressionThreads property
This setting controls the number of compression threads. When set to a value greater than 1, multithreading compression is activated. Read more .
public int CompressionThreads { get; set; }
BZIP2 아카이브에 대한 추가 정보
- BZIP 조직
- Bzip2Archive 메서드, 클래스 및 생성자
- 온라인으로 Tar.BZ2 생성
사람들이 물어봤어
1. BZIP2는 안전합니까? 파일을 암호화할 수 있나요?
이는 데이터 보안에 대한 일반적인 우려를 해결합니다. BZIP2 자체는 암호화를 제공하지 않는다는 점을 명확히 하는 것이 중요합니다. 사용자는 BZIP2로 파일을 압축하기 전에 파일을 암호화하기 위해 별도의 도구가 필요할 수 있습니다. 예를 들어, 별도의 암호화 도구를 사용하여 이전에 생성된 아카이브에 대해 강력한 비밀번호 를 생성할 수 있습니다.
2. BZIP2 압축 사용의 장점과 한계는 무엇입니까?
BZIP2의 가장 큰 장점은 높은 압축률을 달성할 수 있다는 점이지만, 다른 알고리즘에 비해 더 많은 계산 리소스와 시간이 필요할 수 있습니다. 또한 BZIP2 아카이브는 단일 압축 파일 에 여러 파일을 저장하는 것을 지원하지 않습니다.
3. BZIP2와 ZIP 또는 TAR과 같은 아카이브 형식의 차이점은 무엇입니까?
여러 파일을 단일 패키지로 보관할 수 있는 ZIP 및 TAR과 달리 BZIP2는 단일 파일만 압축하기 때문에 이는 중요합니다. 이러한 제한 사항을 해결하려면 Aspose.ZIP API를 사용하여 압축하지 않고 ZIP 아카이브에 파일을 추가 할 수 있습니다.