我正在尝试仅使用 ASCII 来学习压缩的基础知识。
如果我要发送一封包含小写字母字符串的电子邮件。如果文件中的n
每个字符都存储为 8 位扩展 ASCII 码,那么我们需要 8n 位。但是根据压缩的指导原则:我们丢弃不重要的信息。所以使用它我们不需要所有的 ASCII 代码来编码小写字母的字符串:它们只使用 26 个字符。我们可以只用 5 位代码字 (25 = 32 > 26) 编写自己的代码,使用这种编码方案对文件进行编码,然后在收到电子邮件后解码。
The size has decreased by 8n - 5n = 3n, i.e. a 37.5% reduction.
但是,如果电子邮件由小写字母 (26)、大写字母和额外m
字符组成,并且必须有效地存储,该怎么办?