有关数据压缩的问题

2019-07-15 23:14发布

压缩规则如下:如果是0x00则替换成0xe1,如果是0x00,0x00则替换成0xe2,如果是0x00,0x00,0x00则替换成0xe3,以此类推到15个0x00,替换成0xef。如果是0xe1则替换成0xe0xe1,如果是0xe2,则替换成0xe0xe2,如果是0xe3,则替换成0xe0xe3,以此类推到0xef,替换成0xe0xef。其余字节不变化。

有很长一段的数据,但是接收的时候是每次接收8个字节,一拍处理完毕。

假设数据是:
。。。。0x00,0x00,0xe1,0x55,0x00,0xe2,0x00。。。。
那么压缩后的数据是:
。。。。0xe2,0xe0,0xe1,0x55,0xe1,0xe0,0xe2,0xe1。。。。

现在我没有什么好的思路能解决这个问题,不知道各位有什么方法。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
qingfeng403
1楼-- · 2019-07-15 23:37
主要就是如何计算0x00个数的问题。。。想了一天了。。。
破力达
2楼-- · 2019-07-16 04:39
qingfeng403 发表于 2015-12-04 17:13
主要就是如何计算0x00个数的问题。。。想了一天了。。。

判断是0x00时就计数就行了,但碰到不是0x00的就结束计数,这样就的出结果了
wj_h2002
3楼-- · 2019-07-16 08:18
设计关于0x00的序列检测器。
qingfeng403
4楼-- · 2019-07-16 08:50
破力达 发表于 2015-12-5 00:07
判断是0x00时就计数就行了,但碰到不是0x00的就结束计数,这样就的出结果了

可是这么做的话节拍怎么保证呢?八拍出一个数据延迟太大

一周热门 更多>