我有一个简单的类似记事本的Web应用程序,我正在制作它。保存文档时,< textarea>的内容通过Ajax发送到服务器并保存在数据库中。
让我们说一下我们需要压缩< textarea>的内容的屎和咯咯笑声。在发送之前,因为我们使用的是2800波特率调制解调器。
是否有JavaScript库可以执行此操作?简单文本首先压缩的程度如何?
答案 0 :(得分:2)
如果您只使用7位ascii字符集,则简单的7位压缩可能会起作用。谷歌搜索产生了这样的结果:http://www.iamcal.com/png-store/
或者你可以使用LZW http://rosettacode.org/wiki/LZW_compression#JavaScript
就压缩比而言;根据{{3}}:
表征任何数据压缩技术的结果有点困难。取决于几个因素,实现的压缩程度变化很大。当面对具有任何类型的重复字符串的数据流时,LZW压缩表现优异。因此,在压缩英文文本时它非常好。可以预期压缩水平为50%或更高。
答案 1 :(得分:0)
好吧,你不能使用gzip comppression。见这里: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 :(得分:0)
首先,运行LZW压缩,这会产生二进制格式的压缩数据。 接下来,对压缩的二进制数据执行base-64编码。这将生成可以存储在数据库中的压缩数据的文本版本。
要恢复内容,请执行base-64解码。然后是LZW减压。
有两个Java库可以做到这两点。只需搜索“LZW compression Java”和“base-64 encode Java”。