ascii范围0~128,把每个byte拆分高4位和低4位,然后保存,刚好压缩一半
引用 3 楼 zyb_debug 的回复:理论上 12个字节=12*8 = 96bit = 2^96 = 16^24个数 24个字符 每个字符有62种可能 有62*24种组合 16^24 < 62^24理论上来说是不行的 那你说压缩工具是怎么做出来的……
都什么跟什么啊 信息论角度看,一共是62^24方种可能,12字节是256^12明显不是够的
麻烦,头疼。
这并不是不可能的,我说下自己的看法吧,首先将12字节的每个字节拆分成2个6bit,1个6bit可以表示64种可能对么?然后恰好足够映射那62种字符,所以进来一个字符映射到一个6bit,12字节可以完全容纳所需要存储的24字节内容,至于上面说的什么信息量问题,我想在此纠正一下,这里采用的方法是压缩,正因为有压缩和解压缩算法,所以可以让存储信息少于原始信息,如果说要达到62x……
要对“大多数情况”有效的算法,应该是存在的 要对“所有情况”有效的算法,恐怕是不存在的 压缩算法都是对大多数情况有效的,任何压缩算法都可以找到一些特定的数据包,压缩之后比压缩之前更大 如果楼主要做的是一个对大多数情况有效的压缩算法,那随便找个压缩算法,都可以对大多数文本达到相当高的压缩率,因为文本包含太多重复数据段,我们称为词汇和常用句 但要对所有情况都有效,我认为,不可能
12个字节=12*8 = 96bit = 2^96 = 16^24个数 24个字符 每个字符有62种可能 有62*24种组合 16^24 < 62^24理论上来说是不行的
引用 1 楼 JiMoKuangXiangQu 的回复:将每个字母映射到一个bit就可以了,24个字节有24*8 = 192个bit,按bit就可以表示192个不同的字母. 而0-9,a-z,A-Z总共有10 + 26 + 26 = 62个字母. 还可以将24个字节看成一个大整数,共可以表示2 ^ 192 个不同的字母了. 个人意见,仅供参考. 按照这位兄……
69,371
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧