CN115834736A - 一种二进制报文的声明式报文解码方法 - Google Patents
一种二进制报文的声明式报文解码方法 Download PDFInfo
- Publication number
- CN115834736A CN115834736A CN202211421698.5A CN202211421698A CN115834736A CN 115834736 A CN115834736 A CN 115834736A CN 202211421698 A CN202211421698 A CN 202211421698A CN 115834736 A CN115834736 A CN 115834736A
- Authority
- CN
- China
- Prior art keywords
- decoding
- message
- rule
- information item
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004458 analytical method Methods 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种二进制报文的声明式报文解码方法,通过报文编码协议定义解析规则,然后调用解码方法即可完成对二进制报文的解析,且解析结果采用结构化方式保存,有利于解码数据的使用。解码规则描述数据结构让使用者声明式定义解码规则,当报文协议发生变化时,只需更改解码规则描述内容即可,使程序易于维护;不同协议报文可复用同一套解码方法库,使用者不必编写报文解析代码,可极大提高实现效率;与此同时,由于使用者不必编写报文解析代码,就不会产生因报文解析导致的BUG。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种二进制报文的声明式报文解码方法。
背景技术
在嵌入式应用领域,嵌入式产品内部各模块、模组间因协同任务需要而进行通讯的情况是非常普遍的,嵌入式产品内部模组间通讯会采用诸如:UART、I2C、SPI等通讯技术,这些通讯技术普遍存在通讯效率较低的问题,因此,在通讯时一般会尽量收缩通讯载荷。基于此,嵌入式软件在处理通讯逻辑时,一般都会将载荷要传递的信息项以按位、有序、LSB(或FSB)的模式编码成二进制报文后进行传输,且在部分信息项值较大或较小时(超过可用数位可表示范围)的情况下,需在编码前对数值进行简单的加、减、剩、除运算,将数值调整到数位可表范围内再编码成二进制数。当对端接模块收到二进制报文后,通常采用的方法为使用编程语言参照报文协议文档逐项获取二进制数位值,然后使用位移、四则运算等方式完成载荷数据的解析。
上述处理方式和流程可以很好完成协议解析任务,但缺点在于针对每一个协议都需要使用编程语言按协议规定以硬编码的方式来解码,有多少个协议就要硬编码多少次,协议有所变动时需要定位并修改源代码才能匹配上协议,而实现解码功能的编程过程中进行大量、重复的位操作和四则运算都容易使程序产生BUG。总而方之,传统的解码方法和过程效率不高,且极易产生BUG,其主要原因在于没有抽象出一种可以描述数据项解码规则的数据结构,并利用这样的数据结构去复用位运算和四则运算等动作。
发明内容
本发明提供一种二进制报文的声明式报文解码方法,针对传统二进制报文解析方法因没有抽象和定义报文解码规则进行自动解码,导致报文解码实现效率不高、易产生BUG、不易维护等问题,定义了一种描述二进制报文解码描述方法,并以该方法为基础,利用动态编程语言可动态定义类成员变量的语言特性,实现了一个自动解码的算法库,以彻底解决二进制报文解码实现效率不高、易产生BUG、不易维护等问题。本发明仅需根据报文编码协议定义解析规则,然后调用解码方法即可完成对二进制报文的解析,且解析结果采用结构化方式保存,有利于解码数据的使用。
本发明通过以下技术方案来实现上述目的:
一种二进制报文的声明式报文解码方法,包括以下步骤:
步骤1,定义解码规则,解码规则包括如下元素:
元素一:报文信息项占用的最大索引值,整数类型,名为:maxDataIndex;
元素二:解码规则集,字典类型,key为信息项名称,值为该信息项的“信息项解码规则”,该元素命名为:rule;
步骤2,合并和分类所有解码规则;
步骤3,接收报文数据;
步骤4,根据报文头选择对应的解码规则;
根据报文编码规则,从报文数据中取出当前报文的“指令类型”信息,然后从步骤2所产生的规则集中选择出当前报文“指令类型”对应的解码规则;
步骤5,执行解码过程。
进一步方案为,所述步骤1中,信息项解码规则包含如下元素:
若信息项数据类型为字符串,则包括:“起始字节索引值”和“所占字节数”两个元素;
若信息项数据类型为数值,则至少包括:“起始字节索引值”、“起始位索引值”和“所占比特位数”三个元素;
若信息项数据类型为数值,还可包含运算规则,运算规则包含一系列的操作符代号和对应的操作值。
进一步方案为,所述步骤2中,将所有协议组合在一个数据结构之中,并建立协议的索引规则,以便于在接收到通讯报文时可以选择到适合报文解析规则。
进一步方案为,所述步骤5中,具体步骤如下:
解码步骤1:验证报文长度是否满足要求;
解码步骤2:可选地,对报文内容进行CRC验证;
解码步骤3:判断信息项数据类型;
解码步骤3-1:字符串型信息项解码方法;
解码步骤3-1.1:获取当前信息项解码规则;
解码步骤3-1.2:按规则读取和保存报文数据为字符串;
解码步骤3-2:数值型信息项解码方法;
解码步骤3-2.1:获取当前信息项解码规则;
解码步骤3-2.2:判断信息项是否跨字节;
解码步骤3-2.2.1:不跨字节解码方法;
解码步骤3-2.2.1.1:按规则读取报文比特位并暂存;
解码步骤3-2.2.2:跨字节解码方法;
解码步骤3-2.2.2.1:读取首部比特位并暂存;
解码步骤3-2.2.2.2:可选地,读取中部比特位并暂存;
解码步骤3-2.2.2.3:可选地,读取尾部比特位并暂存;
解码步骤3-2.3:将比特位转换成数值Data;
解码步骤3-2.4:可选地,按运算规则调整数值Data;
解码步骤3-2.5:保存结果;
解码步骤4:判断是否所有信息项已全部解析完毕。
进一步方案为,所述步骤5中,验证报文长度是否满足要求;
为确保解码流程的正常执行,需事先验证待处理报文的长度是否满足要求,若不满足要求,则直接退出解码过程;
判断待处理报文的长度是否满足要求的方法为:待处理报文的长度>=报文信息项占用的最大索引值(即:maxDataIndex)。
进一步方案为,所述步骤5中,对报文内容进行CRC验证;
若通讯双方要求进行CRC验证,则在解码方法流程中加入CRC验证处理过程,若CRC验证失败,则退出解码过程。
进一步方案为,所述步骤5中,判断信息项数据类型;
根据解码字符串和解码数值的处理方法,对这两种不同类型的信息项采用不同的解码方法,在执行具体解码逻辑前,先判断当前要解码的信息项的数据类型。
进一步方案为,所述步骤5中,判断是否所有信息项已全部解析完毕;
当遍历完“解码规则集”中所有的“信息项解码规则”,则解析完毕,否则返回“解码步骤三:判断信息项数据类型”步骤继续执行剩余信息项的解码。
本发明的有益效果在于:
解码规则描述数据结构让使用者声明式定义解码规则,当报文协议发生变化时,只需更改解码规则描述内容即可,使程序易于维护;
不同协议报文可复用同一套解码方法库,使用者不必编写报文解析代码,可极大提高实现效率;与此同时,由于使用者不必编写报文解析代码,就不会产生因报文解析导致的BUG;
定义好解码规则,即完成了报文解析业务逻辑的实现,高效;修改解码规则描述内容,即实现了解码协议的变更,易维护;除非解码规则描述错误,否则不会引入业务BUG,代码质量高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的一种基于动态语言的针对二进制报文的声明式报文解码方法的流程结构示意框图。
图2为本发明中的一种基于动态语言的针对二进制报文的声明式报文解码方法的解码方法示意框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
在任一实施例中,如图1-2所示,本发明的一种二进制报文的声明式报文解码方法,包括以下步骤:
步骤一:定义解码规则;
解码规则包含如下元素:
元素一:报文信息项占用的最大索引值,整数类型,名为:maxDataIndex;
元素二:解码规则集,字典类型,key为信息项名称,值为该信息项的“信息项解码规则”,该元素命名为:rule。
信息项解码规则包含如下元素:
1)若信息项数据类型为字符串,则包括:“起始字节索引值”和“所占字节数”两个元素;
2)若信息项数据类型为数值,则至少包括:“起始字节索引值”、“起始位索引值”和“所占比特位数”三个元素;
3)可选地,若信息项数据类型为数值,还可包含运算规则,运算规则包含一系列的操作符代号和对应的操作值。
信息项解码规则的存储方式:
1)为便于使用,信息项解码规则采用序列形式存放
2)若信息项数据类型为字符串,则存储形式可示为:[起始字节索引值,所占字节数]
3)若信息项数据类型为数值,且不包含运算规则,则存储形式可表示为:[起始字节索引值,起始位索引值,所占比特位数]
4)可选地,若信息项数据类型为数值,且包含运算规则,则存储形式可表示为:[起始字节索引值,起始位索引值,所占比特位数,操作符1,操作数1,...,操作符n,操作数n];
为清晰描述上述解码规则,下面予以举例说明:
若某报文编码规则定义如下(LSB):
则该报文的解码规则可定义如下(以JavaScript语言为例):
步骤二:合并和分类所有解码规则;
由于模式之间的通讯可能同时存大多种协议,因此,需要将所有协议组合在一个数据结构之中,并建立协议的索引规则,以便于在接收到通讯报文时可以选择到适合报文解析规则。
采用字典数据结构来完成解码规则的合并和分类,具体规则为:字典的key为报文的“指令类型”,值为报文的解码规则。
以“步骤一:定义解码规则”中示例报文为例,合并和分类后的解码规则可以表示如下(以JavaScript语言为例):
let ALL_RULES={
0x03:RULE03
}
步骤三:接收报文数据;
根据报文传输载体的不同,选择相关的技术接收报文数据即可,本发明对此并无特殊规定。
步骤四:根据报文头选择对应的解码规则;
根据报文编码规则,从报文数据中取出当前报文的“指令类型”信息,然后从“步骤二:合并和分类所有解码规则”步骤所产生的规则集中选择出当前报文“指令类型”对应的解码规则。
步骤五:执行解码过程
执行解码过程的具体实施方法,参见“解码方法”
解码方法:
如图2所示,为本发明基于动态语言的针对二进制报文的声明式报文解码方法的解码流程,具体的实现方法包括以下步骤:
解码步骤一:验证报文长度是否满足要求;
为确保解码流程的正常执行,需事先验证待处理报文的长度是否满足要求,若不满足要求,则直接退出解码过程;
判断待处理报文的长度是否满足要求的方法为:待处理报文的长度>=报文信息项占用的最大索引值(即:maxDataIndex)。
解码步骤二:可选地,对报文内容进行CRC验证;
若通讯双方要求进行CRC验证,则在解码方法流程中加入CRC验证处理过程,若CRC验证失败,则退出解码过程;
本发明对此CRC验证并无特殊规定。
解码步骤三:判断信息项数据类型;
由于解码字符串和解码数值的处理方法存在很大差异,因此本发明对这两种不同类型的信息项采用不同的解码方法。在执行具体解码逻辑前,本发明先判断当前要解码的信息项的数据类型。
本发明判断当前要解码的信息项的数据类型的方法巧妙利用了信息项解码规则的存储方式,当用于存储信息项解码规则的序列长度为2时,可以判断当前信息项的数据类型为字符串,当用于存储信息项解码规则的序列长度大于等于3时,可以判断当前信息项的数据类型为数值。
若当前信息项的数据类型为字符串,则执行分支“解码步骤3-1~解码步骤3-1.2”间的步骤。
若当前信息项的数据类型为数值,则执行分支“解码步骤3-2:数值型信息项解码方法~解码步骤3-2.5:保存结果”间的步骤。
解码步骤3-1:字符串型信息项解码方法;
当前信息项的数据类型为字符串时,处理流程跳转到该分支。
解码步骤3-1.1:获取当前信息项解码规则;
从解码规则中获取当前信息项的“起始字节索引值”和“所占字节数”。假定当前信息项解码规则保存在名为rule的序列中,则:起始字节索引值=rule[0],所占字节数=rule[1];
解码步骤3-1.2:按规则读取和保存报文数据为字符串;
根据“起始字节索引值”和“所占字节数”,读取对应位置字节并拼接成字符串保存。该步骤的伪代码如下:
结果[信息项名称]="";
for(i=0;i<所占字节数;i++){
结果[信息项名称]+=String.fromCharCode(报文[起始字节索引值++]);
}
解码步骤3-2:数值型信息项解码方法;
当前信息项的数据类型为数值时,处理流程跳转到该分支。
解码步骤3-2.1:获取当前信息项解码规则;
从解码规则中获取当前信息项的“起始字节索引值”、“起始位索引值”、“所占比特位数”,假定当前信息项解码规则保存在名为rule的序列中,则:
起始字节索引值=rule[0],
起始位索引值=rule[1],
所占比特位数=rule[2]。
解码步骤3-2.2:判断信息项是否跨字节;
由于数值类型的信息项比特位可能分布于单个字节中,也可能存在于多个字节中,本发明对这两种情况进行了分别处理。
判断信息项比特位是否分布于多个字节中的方法是:
若起始位索引值+1>=所占比特位数,则信息项比特位未跨字节,执行“解码步骤3-2.2.B1:不跨字节解码方法~解码步骤3-2.2.B1.1:按规则读取报文比特位并暂存”间的步骤,
否则,信息项比特位未跨字节,执行“解码步骤3-2.2.B2:跨字节解码方法~解码步骤3-2.2.B2.3:可选地,读取尾部比特位并暂存”间的步骤。
解码步骤3-2.2.B1:不跨字节解码方法;
若信息项比特位未跨字节,进入该分支。
解码步骤3-2.2.B1.1:按规则读取报文比特位并暂存;
该处理步骤直接用伪代码解释于下:
结果[信息项名称]=(报文数据[起始字节索引值]>>(起始位索引值-所占比特位数+1))&
((1<<所占比特位数)-1);
解码步骤3-2.2.B2:跨字节解码方法;
若信息项比特位跨字节,进入该分支。
解码步骤3-2.2.B2.1:读取首部比特位并暂存;
该处理步骤直接用伪代码解释于下:
首部比特位=报文数据[起始字节索引值++]&((1<<起始位索引值)-1);解码步骤3-2.2.B2.2:可选地,读取中部比特位并暂存;
该处理步骤直接用伪代码解释于下:
中部字节数=所占比特位数-起始位索引值-1;
中部比特位=[];
iCount=0
while(8<中部字节数){
中部比特位[iCount++]=报文数据[起始字节索引值++];
中部字节数-=8;
}
解码步骤3-2.2.B2.3:可选地,读取尾部比特位并暂存;
该处理步骤直接用伪代码解释于下:
尾部比特位=(报文数据[起始字节索引值]>>(7-所占比特位数+1))&((1<<所占比特位数)-1);
解码步骤3-2.3:将比特位转换成数值Data;
本发明对该步骤没有特殊要求,只要把比特位计算成数值即可。
解码步骤3-2.4:可选地,按运算规则调整数值Data;
该处理步骤直接用伪代码解释于下:
解码步骤3-2.5:保存结果;
将B2分支中计算得到的最终结果,添加到一个字典数据结构中,其key值为“解码规则集”中“当前信息项解码规则”对应的key值。
解码步骤四:判断是否所有信息项已全部解析完毕;
当遍历完“解码规则集”中所有的“信息项解码规则”,则解析完毕,否则返回“解码步骤三:判断信息项数据类型”步骤继续执行剩余信息项的解码。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (8)
1.一种二进制报文的声明式报文解码方法,其特征在于,包括以下步骤:
步骤1,定义解码规则,解码规则包括如下元素:
元素一:报文信息项占用的最大索引值,整数类型;
元素二:解码规则集,字典类型,key为信息项名称,值为该信息项的“信息项解码规则”,该元素命名为:rule;
步骤2,合并和分类所有解码规则;
步骤3,接收报文数据;
步骤4,根据报文头选择对应的解码规则;
根据报文编码规则,从报文数据中取出当前报文的“指令类型”信息,然后从步骤2所产生的规则集中选择出当前报文“指令类型”对应的解码规则;
步骤5,执行解码过程。
2.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤1中,信息项解码规则包含如下元素:
若信息项数据类型为字符串,则包括:“起始字节索引值”和“所占字节数”两个元素;
若信息项数据类型为数值,则至少包括:“起始字节索引值”、“起始位索引值”和“所占比特位数”三个元素;
若信息项数据类型为数值,还可包含运算规则,运算规则包含一系列的操作符代号和对应的操作值。
3.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤2中,将所有协议组合在一个数据结构之中,并建立协议的索引规则,以便于在接收到通讯报文时可以选择到适合报文解析规则。
4.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤5中,具体步骤如下:
解码步骤1:验证报文长度是否满足要求;
解码步骤2:对报文内容进行CRC验证;
解码步骤3:判断信息项数据类型;
解码步骤3-1:字符串型信息项解码方法;
解码步骤3-1.1:获取当前信息项解码规则;
解码步骤3-1.2:按规则读取和保存报文数据为字符串;
解码步骤3-2:数值型信息项解码方法;
解码步骤3-2.1:获取当前信息项解码规则;
解码步骤3-2.2:判断信息项是否跨字节;
解码步骤3-2.2.1:不跨字节解码方法;
解码步骤3-2.2.1.1:按规则读取报文比特位并暂存;
解码步骤3-2.2.2:跨字节解码方法;
解码步骤3-2.2.2.1:读取首部比特位并暂存;
解码步骤3-2.2.2.2:读取中部比特位并暂存;
解码步骤3-2.2.2.3:读取尾部比特位并暂存;
解码步骤3-2.3:将比特位转换成数值Data;
解码步骤3-2.4:按运算规则调整数值Data;
解码步骤3-2.5:保存结果;
解码步骤4:判断是否所有信息项已全部解析完毕。
5.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤5中,验证报文长度是否满足要求;
为确保解码流程的正常执行,需事先验证待处理报文的长度是否满足要求,若不满足要求,则直接退出解码过程;
判断待处理报文的长度是否满足要求的方法为:待处理报文的长度>=报文信息项占用的最大索引值。
6.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤5中,对报文内容进行CRC验证;
若通讯双方要求进行CRC验证,则在解码方法流程中加入CRC验证处理过程,若CRC验证失败,则退出解码过程。
7.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤5中,判断信息项数据类型;
根据解码字符串和解码数值的处理方法,对这两种不同类型的信息项采用不同的解码方法,在执行具体解码逻辑前,先判断当前要解码的信息项的数据类型。
8.如权利要求1所述的一种二进制报文的声明式报文解码方法,其特征在于,所述步骤5中,判断是否所有信息项已全部解析完毕;
当遍历完“解码规则集”中所有的“信息项解码规则”,则解析完毕,否则返回“解码步骤3:判断信息项数据类型”步骤继续执行剩余信息项的解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211421698.5A CN115834736A (zh) | 2022-11-14 | 2022-11-14 | 一种二进制报文的声明式报文解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211421698.5A CN115834736A (zh) | 2022-11-14 | 2022-11-14 | 一种二进制报文的声明式报文解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115834736A true CN115834736A (zh) | 2023-03-21 |
Family
ID=85528014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211421698.5A Pending CN115834736A (zh) | 2022-11-14 | 2022-11-14 | 一种二进制报文的声明式报文解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834736A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061821A (en) * | 1998-01-09 | 2000-05-09 | The United States Of America As Represented By The Secretary Of The Navy | Context based error detection and correction for binary encoded text messages |
CN104320218A (zh) * | 2014-10-30 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种便捷dcc消息编解码系统及方法 |
CN109104405A (zh) * | 2018-06-28 | 2018-12-28 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 二进制协议编码、解码方法和装置 |
CN111327679A (zh) * | 2020-01-19 | 2020-06-23 | 苏宁云计算有限公司 | 一种规则解析方法及装置 |
CN112035706A (zh) * | 2019-06-04 | 2020-12-04 | 上海哔哩哔哩科技有限公司 | 编码、解码方法、计算机设备及可读存储介质 |
CN113835750A (zh) * | 2021-09-23 | 2021-12-24 | 中国人民解放军63620部队 | 一种基于自定义规则的通用数据帧快速解码方法 |
CN114492316A (zh) * | 2022-01-18 | 2022-05-13 | 辰工(无锡)工业科技有限公司 | 数据交换编解码方法和系统 |
CN115052046A (zh) * | 2021-03-08 | 2022-09-13 | 董昱 | 一种数字化的网络通讯协议的处理方法 |
-
2022
- 2022-11-14 CN CN202211421698.5A patent/CN115834736A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061821A (en) * | 1998-01-09 | 2000-05-09 | The United States Of America As Represented By The Secretary Of The Navy | Context based error detection and correction for binary encoded text messages |
CN104320218A (zh) * | 2014-10-30 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种便捷dcc消息编解码系统及方法 |
CN109104405A (zh) * | 2018-06-28 | 2018-12-28 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 二进制协议编码、解码方法和装置 |
CN112035706A (zh) * | 2019-06-04 | 2020-12-04 | 上海哔哩哔哩科技有限公司 | 编码、解码方法、计算机设备及可读存储介质 |
CN111327679A (zh) * | 2020-01-19 | 2020-06-23 | 苏宁云计算有限公司 | 一种规则解析方法及装置 |
CN115052046A (zh) * | 2021-03-08 | 2022-09-13 | 董昱 | 一种数字化的网络通讯协议的处理方法 |
CN113835750A (zh) * | 2021-09-23 | 2021-12-24 | 中国人民解放军63620部队 | 一种基于自定义规则的通用数据帧快速解码方法 |
CN114492316A (zh) * | 2022-01-18 | 2022-05-13 | 辰工(无锡)工业科技有限公司 | 数据交换编解码方法和系统 |
Non-Patent Citations (1)
Title |
---|
毕学军;徐大超;肖庆;刘海宁;石长爱;高飞;: "可变消息格式报文编解码工具设计", 兵器装备工程学报, no. 07, 25 July 2016 (2016-07-25) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971704B (zh) | 一种基于json配置文件的数据传输方法及装置 | |
US20100083101A1 (en) | Methods of coding and decoding a structured document, and the corresponding devices | |
JP2004518231A (ja) | 文書の構造化された記述を圧縮するための方法 | |
CN111967244B (zh) | 一种基于fpga的fast协议解码方法、装置及设备 | |
US20110219357A1 (en) | Compressing source code written in a scripting language | |
US20020130796A1 (en) | Huffman decoding method and decoder, huffman decoding table, method of preparing the table, and storage media | |
CN107566090B (zh) | 一种定长/变长的文本报文处理方法及装置 | |
CN106649634A (zh) | 一种解析json数据的方法及装置 | |
CN111131403A (zh) | 一种物联网设备的消息编解码方法及装置 | |
US6975253B1 (en) | System and method for static Huffman decoding | |
CN106649217A (zh) | 数据的匹配方法及装置 | |
CN110060158A (zh) | 基于变长编码的智能合约执行方法和装置 | |
CN117472591B (zh) | 用于数据计算的方法、电子设备和存储介质 | |
US5617089A (en) | Huffman code decoding circuit | |
CN112114933A (zh) | 应用程序保护方法、电子设备和存储介质 | |
CN110673851B (zh) | 一种智能合约运行方法、装置及电子设备 | |
US10282400B2 (en) | Grammar generation for simple datatypes | |
CN115834736A (zh) | 一种二进制报文的声明式报文解码方法 | |
CN110032838B (zh) | 一种脚本文件加固方法、装置及设备 | |
CN108573069B (zh) | 一种加速压缩流量正则表达式匹配的Twins方法 | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
CN114070470A (zh) | 编解码方法及装置 | |
CN114385624A (zh) | 编码方法、编码查找方法、装置、电子设备及存储介质 | |
CN110209397B (zh) | 一种数据处理方法、装置及系统 | |
US9075737B2 (en) | Verification device, verification method and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |