打印
[STM32L1]

快速将8位ASCII压缩成6位ASCII

[复制链接]
248|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llljh|  楼主 | 2023-2-25 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有N个字符(ascii,无小写字母),现在要快速压缩成6位,减少字节占用。有什么快速的算法?

使用特权

评论回复
沙发
wangzsa| | 2023-2-25 21:27 | 只看该作者
N的个数?

使用特权

评论回复
板凳
llljh|  楼主 | 2023-2-25 21:29 | 只看该作者
N的个数是65536 以上

使用特权

评论回复
地板
huwr| | 2023-2-25 21:30 | 只看该作者
六位正好对应一个64项的表

使用特权

评论回复
5
houcs| | 2023-2-26 15:39 | 只看该作者
最简单的实现方法就是做个映射表,作为编码表使用。

使用特权

评论回复
6
llljh|  楼主 | 2023-2-26 15:41 | 只看该作者
huwr 发表于 2023-2-25 21:30
六位正好对应一个64项的表

愿闻其详。

使用特权

评论回复
7
llljh|  楼主 | 2023-2-26 15:42 | 只看该作者

目的不是编码而是压缩。4个8位字节的ASCII,可以压缩到3个字节上存储。如何快速压缩?

使用特权

评论回复
8
lizye| | 2023-2-26 15:43 | 只看该作者

你的 字符 种类 <=64 个 就能 查表 压缩成 6位了

使用特权

评论回复
9
wangzsa| | 2023-2-26 15:44 | 只看该作者
用lzo算法压缩

使用特权

评论回复
10
yinxiangh| | 2023-2-26 16:02 | 只看该作者
具体如何实现 google lzo 即可

使用特权

评论回复
11
llljh|  楼主 | 2023-2-26 16:05 | 只看该作者
如果你这些字符的取值小于64可以采用2楼的办法。

使用特权

评论回复
12
jlyuan| | 2023-2-26 16:07 | 只看该作者
大于64就要研究这些字符有没有什么规律

使用特权

评论回复
13
stly| | 2023-2-26 16:08 | 只看该作者
我提供的是8-bit到6-bit的转换方法,有了6-bit码,剩下的事就是如何存储了,4个6-bit码拼在一起就是24-bit,刚好3-byte。

使用特权

评论回复
14
zhuhuis| | 2023-2-26 16:10 | 只看该作者

这个是不是得用到压缩算法?

使用特权

评论回复
15
huwr| | 2023-2-26 16:12 | 只看该作者
请问楼主这个是要用来解决什么问题?

使用特权

评论回复
16
jlyuan| | 2023-2-26 16:13 | 只看该作者
明显压缩空间的

使用特权

评论回复
17
llljh|  楼主 | 2023-2-26 16:15 | 只看该作者
已经做好了。A-Z的ASC,去掉了D6,ASCII值自动变成1-26了,不会打架。

使用特权

评论回复
18
spark周| | 2023-2-26 16:19 | 只看该作者
4个8位字节的ASCII,可以压缩到3个字节,能发一下代码给我参考一下吗?

使用特权

评论回复
19
stly| | 2023-2-26 16:21 | 只看该作者
几个字节还压缩,有什么意义呀

使用特权

评论回复
20
huangchui| | 2023-2-26 16:22 | 只看该作者
需要多块的速度啊   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝