一致开销字节填充(COB)

cobs的Python项目详细描述


Author:Craig McQueen
Contact:http://craig.mcqueen.id.au/
Copyright:2010 Craig McQueen

用于编码和解码COB的Python函数。

完整的cobs文档位于https://pythonhosted.org/cobs/

简介

提供了cobs包,其中包含包含函数的模块 用于根据COBS方法进行编码和解码。

什么是COBS?

COBS是一种将字节包编码成不包含 值为零(0x00)的字节。字节的输入包可以包含字节 在0x00到0xFF的整个范围内。COBS编码包保证 生成字节仅在0x01到0xFF范围内的数据包。因此,在 通信协议,包边界可以用0x00可靠地分隔 字节。

COBS编码确实需要增加包的大小来实现这一点 编码。但是,与其他字节填充方法相比,包的大小 增长是合理和可预见的。COBS总是在 消息长度。另外,对于长度为n的较长数据包,它mayadd n/254(四舍五入)编码包大小的额外字节。

例如,与ppp协议相比,ppp协议使用0x7e字节来限定 购买力平价数据包。ppp协议使用字节填充的“转义”方式, 用0x7d 0x5e替换包中所有出现的0x7e字节。 字节填充方法可能会使 最坏的情况。COBS使用不同的字节填充方法,它有很多 更合理的最坏情况开销。

COBS/R

我在cobs中包含了一个变体,我称之为“一致开销字节 填料减少”(COBS/R)。这是一个小的变化,通常可以避免+1 COB中出现的字节开销,从而降低了平均编码 头顶上。然而,与 眼镜蛇。有关详细信息,请参见COBS/R documentation

完整的cobs文档位于https://pythonhosted.org/cobs/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java gradle无法解析配置的任何依赖项:类路径   来自远程服务的java错误字符串解析   java如何在Tomcat之外运行TomcatSpring/Struts 2Quartz任务?   将Java字节转换为Perl   Java选项:返回值或执行某些操作并继续循环   java如何从对象中获取变量?   postgresql自动部署web服务java和glassfish服务器4.1.1?   使用泛型的java Resteasy重写方法   在另一个用户登录后显示上一个用户的java数据   JSP(Java):编码字节数组并在JavaScript中使用,与C中相同#   Java:如何知道jar在Linux中的位置   java模拟已标记为可访问的私有方法的返回值   java无法理解滚动窗格   java Spring Boot Starter Web依赖项提供缺少工件的错误   java从SQL表创建json文件,然后能够查询该文件   java线程时钟对象   Java实践编程问题   多线程Java GUI未更改   GL30库中不存在intellij idea GLGEnVertexArray()。(JAVA LWJGL)   二进制文件在java中编辑二进制文件