哪个字母在英文字母表中最易压缩?

时间:2011-12-16 16:07:17

标签: http compression ip gzip alphabetical

我必须从移动设备向服务器发送最小(位置)数据。为了方便起见(PHP兼容性)我不只是将其作为原始查询字符串或发布数据发送,我将其作为变量发送,例如:

a=12345,6789

问题是,如果我想成为互联网上的好邻居并创建最可压缩的数据块(如某些啤酒花),我应该选择哪个字母(作为变量的名称而不是a)可以使用gzip或其他压缩方式。)

<小时/> 的修改 (对于那里的所有反对者)。

可实现的压缩量取决于比特流本身。总随机比特流(具有最低可能的熵)是最不可压缩的。统一比特流(全零或全部)是最多的。

4 个答案:

答案 0 :(得分:2)

AFAIK,gzip基于霍夫曼编码=&gt;频繁出现的字符在压缩时最便宜。因此,您应该使用POST数据中最常出现的字符。

如果&#39; a = 12345,6789&#39;是您发布的唯一内容,我不认为您为变量名称选择的字符是否重要。另一方面,如果您发布更大的内容块,那么使用在该内容中频繁出现的字符将是最佳选择。

答案 1 :(得分:2)

不要试图超越gzip。没有单一的“最佳”选择,第一,第二,数据不是英语数据。阅读gzip如何压缩这里的内容:http://www.gzip.org/deflate.html其结果是它将弄清楚如何对您最佳地提供的数据进行编码。如果它遵循gzip期望的模式,它将使用该模式,但它也可以为该块构建最佳编码并使用它。

不要担心这个。花点时间弄清楚如何发送更少的请求,并且总体上会获得更好的性能。

答案 2 :(得分:0)

没关系。压缩算法通常与语言无关。

答案 3 :(得分:0)

字母的可压缩性不依赖于它们的值 - 字典是在压缩过程中构建的。

所以“aaaaaaa”应该像“nnnnnnn”一样可压缩,而“anaanannnan”由于其混乱模式而不是可压缩的。