[发明专利]一种Asn.1编码的快速读码方法有效
申请号: | 201110279914.2 | 申请日: | 2011-09-21 |
公开(公告)号: | CN102332018A | 公开(公告)日: | 2012-01-25 |
发明(设计)人: | 王林;杨祎 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 张瑞琪 |
地址: | 710048*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种Asn.1编码的快速读码方法,首先按照Asn.1编码规则读取编码的标识符八位位组,判读该八位位组是否为空闲字段,若不为空闲字段,则按照Asn.1编码规则读取该编码信息的长度八位位组,再根据得到的字节长度信息,读取相应字节长度的编码信息后,返回并读取下一条编码信息。否则,预设空闲字段字节长度的初始值为一固定值,最终确定空闲字段的实际长度,再从上一条编码信息的最后一个字节开始跳过相应长度的字节,再返回读取下一条编码信息。本发明解决了现有读码过程中需要依次判断字节是否为空闲字段的方法,能快速确定空闲字段的实际长度,大大提高了读码速度。 | ||
搜索关键词: | 一种 asn 编码 速读 方法 | ||
【主权项】:
一种Asn.1编码的快速读码方法,其特征在于,包括以下步骤:步骤1、按照Asn.1编码规则读取编码的标识符八位位组,并判读该八位位组是否为空闲字段,若不为空闲字段,则进入步骤2,否则,进入步骤3;步骤2、按照Asn.1编码规则读取该编码信息的长度八位位组,以得到该编码信息的字节长度信息,再根据得到的字节长度信息,读取相应字节长度的编码信息后,返回步骤1并读取下一条编码信息;步骤3、预设空闲字段字节长度D的初始值为一固定值L,读取该条编码信息的前L个字节并判断读取的字节是否全部为空闲字段;若读取的字节不全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/q,再读取该编码信息的前L/q个字节并判断读取的字节是否全部为空闲字段;若读取的字节不全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/2q,读取该编码信息的前L/2q个字节并判断读取的字节是否全部为空闲字段;依次类推,预设空闲字段字节长度D的取值的调整规律为依次呈倍数递减,直至读取的字节全部为空闲字段,此时预设空闲字段字节长度D取值L/nq,进入步骤4,其中,L、q和n均为正整数,且L为q的倍数,n=1,2,3...;步骤4、读取该条编码信息的前L/nq+d个字节并判断读取的字节是否全部为空闲字段;若读取的字节全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/nq+2d,读取该条编码信息的前L/nq+2d个字节并判断读取的字节是否全部为空闲字段;若读取的字节全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/nq+3d,读取该条编码信息的前L/nq+3d个字节并判断读取的字节是否全部为空闲字段;依次类推,预设空闲字段字节长度D取值的调整规律为依次等差增加,直至读取的字节不全部为空闲字段,此时预设空闲字段字节长度D取值L/nq+md,进入步骤5,其中,m和d均为正整数,m=1,2,3...;步骤5、读取该条编码信息的前L/nq+(m‑1)d+1个字节并判断读取的字节是否全部为空闲字段,若读取的字节全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/nq+(m‑1)d+2,读取该条编码信息的前L/nq+(m‑1)d+2个字节并判断读取的字节是否全部为空闲字段,若读取的字节全部为空闲字段,则将预设空闲字段字节长度D的取值调整为L/nq+(m‑1)d+3,依次类推,预设空闲字段字节长度D取值的调整规律为依次增加,直至读取的字节不全部为空闲字段,此时预设空闲字段字节长度D取值为L/nq+(m‑1)d+z,此时,确定实际空闲字段字节长度为L/nq+(m‑1)d+z‑1;其中,z为正整数,z=1,2,3...;步骤6、根据步骤5得到的实际空闲字段字节长度的数值,从上一条编码信息的最后一个字节开始跳过L/nq+(m‑1)d+z‑1个字节的空闲字段,再返回至步骤1读取下一条编码信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110279914.2/,转载请声明来源钻瓜专利网。