[STM32L1] 如何快速将8位ASCII压缩成6位ASCII?

[复制链接]
2444|14
 楼主| MOn51 发表于 2016-5-24 16:33 | 显示全部楼层 |阅读模式
有N个字符(ascii,无小写字母),现在要快速压缩成6位,减少字节占用。有什么快速的算法?N的个数是65536 以上。
cool_coder 发表于 2016-5-24 23:06 | 显示全部楼层
六位正好对应一个64项的表。最简单的实现方法就是做个映射表,作为编码表使用。
 楼主| MOn51 发表于 2016-5-25 09:13 | 显示全部楼层
cool_coder 发表于 2016-5-24 23:06
六位正好对应一个64项的表。最简单的实现方法就是做个映射表,作为编码表使用。 ...

愿闻其详。
 楼主| MOn51 发表于 2016-5-25 10:33 | 显示全部楼层

目的不是编码而是压缩。4个8位字节的ASCII,可以压缩到3个字节上存储。如何快速压缩?最后如何快速还原?
lxyppc 发表于 2016-5-25 10:49 来自手机 | 显示全部楼层
用lzo算法压缩

具体如何实现 google lzo 即可
泰山特曲123 发表于 2016-5-25 12:36 来自手机 | 显示全部楼层
如果你这些字符的取值小于64可以采用2楼的办法。大于64就要研究这些字符有没有什么规律
cool_coder 发表于 2016-5-25 13:40 | 显示全部楼层
MOn51 发表于 2016-5-25 10:33
目的不是编码而是压缩。4个8位字节的ASCII,可以压缩到3个字节上存储。如何快速压缩?最后如何快速还原? ...

我提供的是8-bit到6-bit的转换方法,有了6-bit码,剩下的事就是如何存储了,4个6-bit码拼在一起就是24-bit,刚好3-byte。
secretuniverse 发表于 2016-5-25 14:47 | 显示全部楼层
这个是不是得用到压缩算法?
oayzw 发表于 2016-5-25 15:22 来自手机 | 显示全部楼层
请问楼主这个是要用来解决什么问题?
yklstudent 发表于 2016-5-25 15:28 | 显示全部楼层
oayzw 发表于 2016-5-25 15:22
请问楼主这个是要用来解决什么问题?

明显压缩空间的
 楼主| MOn51 发表于 2016-5-26 11:45 | 显示全部楼层
已经做好了。A-Z的ASC,去掉了D6,ASCII值自动变成1-26了,不会打架。恢复时,判断让D6=1就可以了。
 楼主| MOn51 发表于 2016-5-26 14:56 | 显示全部楼层
cool_coder 发表于 2016-5-25 13:40
我提供的是8-bit到6-bit的转换方法,有了6-bit码,剩下的事就是如何存储了,4个6-bit码拼在一起就是24-bi ...

我的本意就是关心如何快速拼接,和解压!
junjieb 发表于 2019-3-11 12:00 | 显示全部楼层
4个8位字节的ASCII,可以压缩到3个字节,能发一下代码给我参考一下吗?
huzi2099 发表于 2019-3-11 14:09 | 显示全部楼层
几个字节还压缩,有什么意义呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

121

主题

472

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部