首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串编码到另一个有更多字符的基中?

将字符串编码到另一个有更多字符的基中?
EN

Stack Overflow用户
提问于 2011-10-10 15:37:06
回答 2查看 157关注 0票数 0

我知道我可以将数字编码到一个像65这样的基地来减小字符显示的大小(即使二进制数较小)。

然而,,是否有一种方法可以将UTF-8文本编码到比我们标准的26个字母英语字母还要多的另一个基础上呢?换句话说,,而不是要求单词“4”需要4个“字符”--我可以只使用2(即“6美元”)创建一个表示或散列?

EN

回答 2

Stack Overflow用户

发布于 2011-10-10 15:43:37

我相信Base64的要点是,您可以轻松地将任何二进制数据转换为“人类可读的”字母和数字。它使得将任意数据转录到新闻组或通过基于文本的协议传输数据变得非常容易。

如果要进一步“压缩”这些数据,则需要计算出要允许多少个字符。只有这么多8位的组合。最有效的方法是全部使用,在这种情况下,为什么不使用gzip呢?

票数 0
EN

Stack Overflow用户

发布于 2011-10-11 17:36:00

您的问题似乎与顺序-0熵编码有关:编码

最著名的算法是这个家族是Huffman编码:编码

Huffman不仅会告诉您只使用了64个字符,因此每个字符只需要6位:它还可以区分频繁字符(空格)和罕见字符(例如(;) )。然后,它将创建一个代码,其中频繁字符使用的位数比较少的字符少,因此压缩效果更好(通常每个字符在英文文本中为4.5位)。

Huffman编码是一种全面的压缩技术,作为包括zip在内的许多压缩算法的一部分.您可以在这里找到一个只应用一次Huffman压缩(Huff0)的演示程序,它将帮助您确定将这种技术用于示例输入可以获得多少收益:http://fastcompression.blogspot.com/p/huff0-range0-entropy-coders.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7715234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档