파일 압축 프로그램을 작성하려고합니다. 지금까지 Huffman 코딩 알고리즘을 구현했지만 충분하지 않다는 것을 알았습니다. 압축은 최소화되어 있고 수천만 비트 만 압축 할 수 있으며 대개 원본 파일의 1 % 만 압축 할 수 있습니다. 나는 그것에 관한 정보를 검색했고, bzip2와 gzip 같은 파일 압축 프로그램의 대부분이 LZW와 Huffman 알고리즘의 조합을 함께 사용하고 있다는 것을 알았습니다. LZW 알고리즘을 사용해 보았을 때 비트 단위로 바이너리로 처리하는 방법에 대해 고민했습니다. 이 알고리즘에 대한 대부분의 예제와 설명은 알파벳 문자열 및 바이너리에 대한 일부 제한된 정보를 검사합니다. 바이너리로 구현하거나 단순하게 이해하는 방법에 대한 완전한 명확한 안내서가 있습니까?LZW 알고리즘 - 이진 압축
0
A
답변
0
어느 쪽도 LZW를 사용하지 않습니다. gzip은 LZ77을 사용하며 이전 데이터에서 일치하는 문자열을 찾습니다. 리터럴과 길이/거리 쌍은 허프만 코드를 사용하여 전송됩니다. bzip2는 Burrows-Wheeler transform을 사용하고, 앞으로 이동, 연속 길이 인코딩 및 허프만 코딩이 뒤 따른다.
관련 문제
- 1. GIF LZW 압축 해제
- 2. 자바에서 lzw 압축 해제
- 3. GIF LZW 압축 C#
- 4. 노력 LZW 압축
- 5. C에서 이진 배열 압축
- 6. PHP LZW 바이너리 압축 풀기 기능
- 7. javascript lzw 압축 용 문자 사전
- 8. GIF LZW 압축 된 스트림의 인코딩 오류
- 9. 원본보다 큰 LZW 압축 생성 파일
- 10. lzw 압축/압축 해제를 병렬로 수행 할 수 있습니까?
- 11. 압축 알고리즘
- 12. PHP의 압축 알고리즘
- 13. IEEE-754 데이터 압축 알고리즘
- 14. 이진 행렬 압축
- 15. 이진 통합 데이터 압축
- 16. 긴 이진 배열 압축
- 17. RAR 압축 해제 알고리즘
- 18. 기본 압축 알고리즘 만들기
- 19. 정수 문자열 압축 알고리즘
- 20. 압축 알고리즘 마법 서명
- 21. 사용자 정의 압축 알고리즘
- 22. 역방향 "jpeg"압축 알고리즘?
- 23. 병렬 압축 알고리즘
- 24. 패턴 찾기 LZW python
- 25. ASTC 소프트웨어 텍스처 압축/압축 해제 알고리즘
- 26. 프롤로그 이진 검색 알고리즘
- 27. Java에서 이진 산술을위한 알고리즘
- 28. 유전자 알고리즘 이진 표현
- 29. 이진 트리 알고리즘
- 30. 이진 검색 알고리즘 구현
나는이 알고리즘을 알고 있으며,이 알고리즘에 대해 읽고 다시 시도하여 이진 데이터에 사용하고이를 성공적으로 구현하지 못했습니다. LZ77 알고리즘이 더 효과적으로 보이지만 포인터로 이해하고 새로운 "바이트 수"가 아니라이 크기를 늘리지 않고 이진 코드에서 뒤로 점프 할 수있는 방법은 무엇입니까? 나는 그것을 이해할 수 없어 누군가가 나를 파일 용으로 구현할 수있는 방식으로 단순화 할 수 있다면 감사 할 것이다. –
직접 구현할 필요가 없다. [zlib] (https://zlib.net/)과 같은 라이브러리를 사용하십시오. –
여기에있는 요점은 직접 (코드) 구현하려고하는 것이기 때문에 나는 원하지 않습니다. 이것이 진정한 도전입니다. –