System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种带分隔符网络通信协议编码方法及相关装置,属于网络通信领域软件设计和开发。
技术介绍
1、在网络通信中,在发送数据前,我们需要对数据以一定的格式进行编码,在对方收到数据后,以编码相反的方法对数据进行解码,从而获得对方的真实数据。
2、在进行文本格式数据编码时,常见对通信协议的编码方法有csv格式、定长文本方式、带分隔符的可变长度的文本方式等。csv格式的好处在于大家理解容易保持一致,但缺点是特殊字符很多,比如英文逗号、引号、换行等常见的字符都算是特殊字符,编程时需要对这些特殊字符进行转义。程序员使用起来很复杂,而且转义后文本的可读性差。定长文本方式,编程容易,但可读性差,且占用空间大,不利于节省网络流量。
3、带分隔符的文本通信协议格式,相对于定长编码格式,可以节省网络传输的数据量,而且可读性强。但是当采用带分隔符的文本通信协议格式对数据进行编码处理时,当数据中包括有存在有与带分隔符的文本通信协议格式中的分隔符相同的字符时,则在接收端导致数据解析失败,无法处理。
技术实现思路
1、本申请实施例提供一种带分隔符网络通信协议编码方法及相关装置,解决在网络通信协议中存在分隔符可能导致数据错乱、通信表示层和业务层混淆在一起、扩展性差,无法适应变化的问题,对程序员编写软件更友好,对业务数据的兼容性更强。
2、本申请实施例的第一方面提供了一种带分隔符网络通信协议编码方法,所述方法包括:
3、接收第一待发送数据,所述第一待发送数据包
4、对所述第一带分隔符数据进行第一编码处理,以得到第一编码数据,所述第一编码数据为十六进制数据;
5、对所述第二数据进行第二编码处理,以得到第二编码数据,所述第一编码数据和所述第二编码数据的编码类型不同;
6、将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包;
7、发送所述第一数据包。
8、在一个可能的实现方式中,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
9、获取所述第一编码数据在所述第一数据包中的第一数据位置信息;
10、将所述第一数据位置信息设置于所述第一数据包的包头字段中对应的位置。
11、在一个可能的实现方式中,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
12、获取所述第一编码数据中的第一子编码数据的第一子数据位置信息,以及获取所述第一编码数据中的第二子编码数据的第二子数据位置信息,所述第一子数据位置信息指示的载荷位置与所述第二子数据位置信息指示的载荷位置不同;
13、获取所述第一编码数据的位置信息在所述第一数据包的包头字段中对应的第一位置;
14、获取所述第一子数据位置信息和所述第二子数据位置信息设置与所述第一位置的第一分隔符;
15、将通过所述第一分隔符对所述第一子数据位置信息和所述第二子数据位置信息进行合并处理后的数据位置信息设置于所述第一位置。
16、在一个可能的实现方式中,所述第一带分隔符数据中的分隔符与对所述第二数据进行第二编码处理时的分隔符相同。
17、在一个可能的实现方式中,所述第一编码数据的数据类型包括十六进制的数据类型。
18、本申请实施例的第二方面提供了一种带分隔符网络通信协议编码装置,所述装置包括:
19、接收单元,用于接收第一待发送数据,所述第一待发送数据包括第一数据和第二数据,所述第一数据为第一带分隔符数据;
20、第一编码单元,用于对所述第一带分隔符数据进行第一编码处理,以得到第一编码数据,所述第一编码数据为十六进制数据;
21、第二编码单元,用于对所述第二数据进行第二编码处理,以得到第二编码数据,所述第一编码数据和所述第二编码数据的编码类型不同;
22、处理单元,用于将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包;
23、发送单元,用于发送所述第一数据包。
24、在一个可能的实现方式中,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述装置还用于:
25、获取所述第一编码数据在所述第一数据包中的第一数据位置信息;
26、将所述第一数据位置信息设置于所述第一数据包的包头字段中对应的位置。
27、在一个可能的实现方式中,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述装置还用于:
28、获取所述第一编码数据中的第一子编码数据的第一子数据位置信息,以及获取所述第一编码数据中的第二子编码数据的第二子数据位置信息,所述第一子数据位置信息指示的载荷位置与所述第二子数据位置信息指示的载荷位置不同;
29、获取所述第一编码数据的位置信息在所述第一数据包的包头字段中对应的第一位置;
30、获取所述第一子数据位置信息和所述第二子数据位置信息设置与所述第一位置的第一分隔符;
31、将通过所述第一分隔符对所述第一子数据位置信息和所述第二子数据位置信息进行合并处理后的数据位置信息设置于所述第一位置。
32、在一个可能的实现方式中,所述第一带分隔符数据中的分隔符与对所述第二数据进行第二编码处理时的分隔符相同。
33、在一个可能的实现方式中,所述第一编码数据的数据类型包括十六进制的数据类型。
34、本申请实施例的第三方面提供一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面中的步骤指令。
35、本申请实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
36、本申请实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
37、实施本申请实施例,至少具有如下有益效果:
38、通过接收第一待发送数据,所述第一待发送数据包括第一数据和第二数据,所述第一数据为第一带分隔符数据,对所述第一带分隔符数据进行第一编码处理,以得到第一编码数据,所述第一编码数据为十六进制数据,对所述第二数据进行本文档来自技高网...
【技术保护点】
1.一种带分隔符网络通信协议编码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的带分隔符网络通信协议编码方法,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
3.根据权利要求1所述的带分隔符网络通信协议编码方法,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
4.根据权利要求2或3所述的带分隔符网络通信协议编码方法,其特征在于,所述第一带分隔符数据中的分隔符与对所述第二数据进行第二编码处理时的分隔符相同。
5.根据权利要求4所述的带分隔符网络通信协议编码方法,其特征在于,所述第一编码数据的数据类型包括十六进制的数据类型。
6.一种带分隔符网络通信协议编码装置,其特征在于,所述装置包括:
7.根据权利要求6所述的带分隔符网络通信协议编码装置,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述装置还用
8.根据权利要求6所述的带分隔符网络通信协议编码装置,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述装置还用于:
9.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法。
...【技术特征摘要】
1.一种带分隔符网络通信协议编码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的带分隔符网络通信协议编码方法,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
3.根据权利要求1所述的带分隔符网络通信协议编码方法,其特征在于,在将所述第一编码数据和所述第二编码数据置于数据包载荷字段中对应的位置,以得到第一数据包之后,所述方法还包括:
4.根据权利要求2或3所述的带分隔符网络通信协议编码方法,其特征在于,所述第一带分隔符数据中的分隔符与对所述第二数据进行第二编码处理时的分隔符相同。
5.根据权利要求4所述的带分隔符网络通信协议编码方法,其特征在于,所述第一编码数据的数据类型包括十六进制的数据类型。
6.一种带分隔符网络通信协议编码装置,其特征在于,所述装置包括:
7....
【专利技术属性】
技术研发人员:蒋春风,肖成虎,陈容清,
申请(专利权)人:深圳证券通信有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。