一致开销字节填充(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如何在导入到Google工作表时使用ApachePOI显示系列标签   java在Swing表上修改数据生成SQL   java TCP数据包在网络级别合并   java自动连线bean在线程位置为空   javasocket。禁用无线连接时getOutputStream()阻塞   JSON上的javascript字符串数组。stringify输出unicode字符   java在Oracle数据库中存储不同类型数据的最佳体验   Spring MVC中模板引擎后的java进程输出   不知从哪里来的java空字符串。   如何加载java。使用Adobe Flex的客户端的属性文件?   java如何替换多层括号之间的所有内容?   {JSONObject必须以java'开头   java使用commandButton或commandLink返回并管理HTML控件值   java Android大文本视图动态   java JMock需要自定义类   java Android应用程序在emulator中工作,但在设备中失败   java连接到derby数据库时使用什么文件路径格式?   java在一个函数调用中返回两个结果?