我的字符串中有340字節的數據主要由符號和數字組成,如「我想要的」「 」我想壓縮到250或更少的字節以將其保存在我的RFID卡上。由於此數據與指紋溫度有關。我想要無損壓縮。 那麼有什麼算法,我可以在C#中實現壓縮它?小字符串的壓縮
Q
小字符串的壓縮
0
A
回答
0
是否還有其他關於您的字符串的信息?例如,它是否比其他人更頻繁地包含某些字符?它是否包含全部255個字符或只是它們的一個子集?
如果是這樣,huffman編碼可能會幫助你,請參閱this或this other link C#中的實現。
說實話,這取決於你的輸入字符串的樣子。我會做的是嘗試使用非常小的字典大小使用rar,zip,7zip(LZMA)(否則它們只會佔用太多空間用於預處理的信息)並查看它們產生的原始壓縮文件有多大(可能不得不使用他們的庫來使它們脫離頭部以節省空間)。如果他們中的任何一個產生250b以下的文件,那麼找到它的c#庫,然後你去。
1
如果數據是嚴格的數字和符號,我強烈建議將數字更改爲基於int的值。例如:
+ 12939272-23923 + 927392
可以是壓縮成3片的32位整數,其是22個字節=> 16個字節。選擇正確的整數大小(無論是32位,24位,16位)應該有所幫助。
如果整數大小變化很大,可以使用8位開始,並使用值255來指定下一個8位成爲整數的8個更重要的位,使其成爲15位。
或者,您可以識別最重要的字符併爲其指定0。第二個最重要的角色得到10,第三個110.這是一個非常粗糙的壓縮,但如果你的數據非常有限,這可能只是爲你做這項工作。
相關問題
- 1. 壓縮字符串
- 2. 將字符串壓縮爲更小的字符串?
- 3. JavaScript字符串壓縮+ PHP解壓縮
- 4. 壓縮和解壓字符串減縮
- 5. 解壓縮壓縮字符串
- 6. 壓縮字符串,然後解壓縮字符串?
- 7. 壓縮串小串
- 8. 壓縮JSON字符串
- 9. SharpZipLib壓縮字符串
- 10. C++字符串壓縮
- 11. 壓縮gzip字符串
- 12. PHP解壓縮字符串
- 13. 如何壓縮字符串?
- 14. PHP壓縮字符串
- 15. Python - 壓縮ASCII字符串
- 16. 壓縮空格字符串
- 17. 字符串壓縮類
- 18. 重複字符串壓縮
- 19. GZIP串壓縮不解壓「£」字符
- 20. 如何在壓縮/解壓縮字符串後獲取短字符串?
- 21. C#中的字符串壓縮和JavaScript中的解壓縮
- 22. 在java中的字符串數據的壓縮和解壓縮
- 23. 在C++中減小大小/壓縮JSON字符串
- 24. 僱用,以字符串壓縮減小數據庫大小
- 25. 如何使用Excel/VBA將字符串壓縮/解壓縮爲32個字符的字母數字字符串?
- 26. 在java中解壓縮在visual basic中壓縮的字符串
- 27. c#中的壓縮和解壓縮字符串
- 28. 壓縮成字符串的JavaScript壓縮算法?
- 29. Android:使用PHP壓縮的解壓縮字符串gzcompress()
- 30. 如何在winrt中解壓縮由SharpZipLib壓縮的字符串?
您是否嘗試過基本的霍夫曼壓縮? http://en.wikipedia.org/wiki/Huffman_coding。不過,解壓縮表的空間需求可能會超出節省的空間。 – 2011-03-02 03:50:15
壓縮算法沒有旋鈕,可以讓你說「我想*這*很多字節」。如果存在那麼當然每個人都會把它設置爲「1個字節」。壓縮這樣的少量字節是非常困難的。更重要的是,這是毫無意義的。 – 2011-03-02 06:02:27