JSON과 같은 형식의 데이터가 포함 된 4KB의 버퍼가 있습니다. 훨씬 더 많은 정보를 추가해야합니다 (최대 3 배까지).하지만이 작은 메모리 덩어리에 맞춰야합니다. libZ를 사용하여 텍스트를 압축하려고 생각했지만 데이터가 대부분 고유 한 부분 문자열로 이루어져 있기 때문에 성능이 좋지 않을까 걱정됩니다. 이 상황에서 당신은 무엇을 권하고 싶습니까? 감사합니다. Chris작은 데이터 압축
2
A
답변
4
데이터에 표시 할 것으로 예상되는 최대 32K 개의 문자열이 포함 된 고정 사전을 고려하십시오. 양쪽 끝에 동일한 사전을 사용하여 zlib의 deflateSetDictionary()
및 inflateSetDictionary()
(데이터의 발신자와 수신자 각각)을 사용합니다. 그게 당신이 찾고있는 압축을 얻을 수 있습니다. 사전이 없으면 적은 양의 데이터만으로 이러한 종류의 압축을 얻지 못할 것입니다.
0
압축을 계속 사용하려면 데이터의 특정 구조를 활용하는 사용자 지정 사전을 사용하는 압축 알고리즘이 가장 효과적입니다. SharpZipLib을 사용하여 이와 비슷한 기능을 구현했습니다.
버퍼에 더 많은 데이터를 저장하고 텍스트와 유사한 데이터의 압축을 사용하지 않으려면 Google의 프로토콜 버퍼와 같은 바이너리 프로토콜을 고려하십시오.
마크의 대답은 ZLIB와 함께 사용자 지정 사전을 사용하는 방법에 대해 간략하게 설명 @
업데이트.
관련 문제
- 1. 작은 문자열의 압축
- 2. 작은 데이터 세트로 해싱하여 가이드 압축
- 3. 문자열을 작은 문자열로 압축 하시겠습니까?
- 4. 오디오 데이터 압축/압축 해제
- 5. 데이터 압축
- 6. Erlang에서 gzip으로 압축 된 데이터 압축 해제
- 7. 데이터 압축 및 이미지 압축 차이
- 8. 투명 SQLite 데이터 압축
- 9. 데이터 압축 비디오 자습서?
- 10. 이진 통합 데이터 압축
- 11. 데이터 압축 비용 찾기
- 12. OpenCV cvCapture 압축 데이터
- 13. 보내기 전에 데이터 압축
- 14. mysql 데이터 압축
- 15. 데이터 압축 HTTP 1.1
- 16. 쿼리 내 데이터 압축
- 17. 데이터베이스에서 데이터 압축
- 18. Webservice로 보낸 데이터 압축
- 19. Entity Framework 데이터 압축
- 20. 데이터 압축 방식, 수학
- 21. WCF 데이터 집합 압축
- 22. (내) SQL 데이터 압축
- 23. WebSocket 데이터 압축
- 24. postgresql tcp 데이터 압축
- 25. C로 XML 데이터 압축
- 26. 작은 요청 데이터 저장소
- 27. VB.NET에서 작은 데이터 게시
- 28. as3을 사용하여 이진 데이터 패킹/압축 풀기
- 29. ADO.NET 데이터 서비스에 대한 데이터 압축
- 30. 작은 값과 큰 숫자 (또는 문자열)을 압축