[发明专利]一种解码方法及装置有效
申请号: | 201710325365.5 | 申请日: | 2017-05-10 |
公开(公告)号: | CN107547905B | 公开(公告)日: | 2020-07-24 |
发明(设计)人: | 郑健 | 申请(专利权)人: | 新华三信息安全技术有限公司 |
主分类号: | H04N19/44 | 分类号: | H04N19/44;H04N21/4402 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
地址: | 230001 安徽省合肥市高新区*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解码 方法 装置 | ||
本申请实施例公开了一种解码方法及装置,涉及互联网技术领域,其中,上述方法包括:从按照预设编码算法编码的数据中获得目标字符;将目标字符压入预设的数据栈,判断目标字符是否为第一预设字符;若为否,对字符数量标志做减1处理;在确定字符数量标志等于0时,对数据栈中的待出栈字符依次进行出栈处理,其中,待出栈字符为:数据栈中从栈顶字符到最近第一预设字符的各个字符;按照预设解码算法对待出栈字符进行解码处理,其中,预设解码算法与编码算法相匹配;根据解码结果,确定是否继续对数据栈中的字符继续进行解码处理;若为是,将字符数量标志更新为第一预设数量。应用本申请实施例提供的方案解码,提高了解码正确率。
技术领域
本申请涉及互联网技术领域,特别涉及一种解码方法及装置。
背景技术
随着网络技术的快速发展及普及,用户需要通过网络传输各种各样的数据,而通过网络传输的数据通常是遵从某种协议编码之后的数据,例如,HTTP(HyperText TransferProtocol,超文本传输协议)。对于HTTP中的URI(Uniform Resource Identifier,统一资源标识符)字段通常是使用百分号进行编码的。
以百分号编码为例,其编码算法为:以字符“%”开始,后面跟着两个十六进制数,这些十六进制数为被编码字符的ASC-II码值。
例如,‘A’=%41
实际应用中,终端接收到通过网络传输的数据后,需按照与前述编码算法相匹配的解码算法对所接收的数据进行解码,才能依据所接收的数据进行后续处理。
现有技术中,通常采用以下方式对以百分号编码的数据进行解码:
从所接收的数据中逐个读取字符,判断所读取的字符是否为“%”,若是“%”,则接着从所接收的数据中读取两个字符,并进行解码。
通常情况下,采用上述方式终端可以正确的对接收到的数据进行解码,但是百分号编码方式中通常还包含多层百分号编码,
例如,‘A’=%41=%4%31=%4%%331
包含多层百分号的情况下,采用现有技术中的方式进行解码时,会导致解码错误,也就是应用现有技术中的解码方式进行解码时,正确率低。
发明内容
本申请实施例公开了一种解码方法及装置,以提高解码正确率。
为达到上述目的,本申请实施例公开了一种解码方法,所述方法包括:
从按照预设编码算法编码的数据中获得目标字符;
将所述目标字符压入预设的数据栈,并判断所述目标字符是否为第一预设字符;
若为否,对字符数量标志做减1处理,其中,所述字符数量标志的初始值为第一预设数量,其中,所述第一预设数量为:所述预设编码算法中设置的、所述第一预设字符后的编码后字符的数量;
在确定所述字符数量标志等于0时,对所述数据栈中的待出栈字符依次进行出栈处理,其中,所述待出栈字符为:所述数据栈中从栈顶字符到所述最近第一预设字符的各个字符;
按照预设解码算法对待出栈字符进行解码处理,其中,所述预设解码算法与所述编码算法相匹配;
根据解码结果,确定是否继续对所述数据栈中的字符继续进行解码处理;
若为是,将所述字符数量标志更新为所述第一预设数量。
为达到上述目的,本申请实施例公开了一种解码装置,所述装置包括:
字符获得模块,用于从按照预设编码算法编码的数据中获得目标字符;
字符入栈模块,用于将所述目标字符压入预设的数据栈;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三信息安全技术有限公司,未经新华三信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710325365.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:压缩影像数据的方法及影像数据压缩系统
- 下一篇:编解码的方法及设备