2010-12-22 57 views
0

我有一個簡單的記事本般的web應用程序,我正在取樂。保存文檔時,<textarea>的內容通過Ajax發送到服務器,並保存在數據庫中。在JavaScript中壓縮純文本?

讓我們只是說在發送它之前我們需要壓縮<textarea>的內容,因爲我們使用的是2800波特調制解調器。

是否有JavaScript庫可以做到這一點?純文本如何壓縮在第一位?

回答

0

那麼,你不能使用gzip壓縮。在這裏看到:Why can't browser send gzip request?

我想你可以剝離空白,但是這將被證明是不可持續的。我不確定這是否是需要抓撓的癢。

我做了一個谷歌搜索找到這個:http://rumkin.com/tools/compression/compress_huff.php,最終將產生一組較小的文本,如果文本是足夠大的。如果文字太短,它實際上會使文字膨脹。

我也發現了這一點:http://www.sean.co.uk/a/webdesign/javascript_string_compression.shtm

2

簡單的7位壓縮,如果你只使用了7位ASCII字符集可能會奏效。谷歌搜索產生這樣的:http://www.iamcal.com/png-store/

或者你可以使用LZW http://rosettacode.org/wiki/LZW_compression#JavaScript

至於壓縮比;根據Dr. Dobbs

這是有點難以表徵任何數據壓縮技術的結果。取得的壓縮程度有很大不同,取決於幾個因素。遇到具有任何類型的重複字符串的數據流時,LZW壓縮功能非常出色。因此,壓縮英文文本時效果非常好。預計壓縮水平達到50%或更高。

0

首先,運行LZW壓縮,這產生以二進制格式壓縮的數據。 接下來,然後對壓縮的二進制數據進行base-64編碼。這將產生可以存儲在數據庫中的壓縮數據的文本版本。

要恢復內容,請執行base-64解碼。然後LZW解壓。

有兩個Java庫可以執行這兩個操作。只需搜索「LZW壓縮Java」和「base-64編碼Java」。