[发明专利]URL中文参数压缩算法有效
申请号: | 201210291968.5 | 申请日: | 2012-08-16 |
公开(公告)号: | CN102801430A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 傅仰耿;吴英杰;钟思志;林秋霞;潘晓晓 | 申请(专利权)人: | 福州大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;G06F17/22 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | url 中文 参数 压缩 算法 | ||
技术领域
本发明涉及URL编码技术领域,特别是一种URL中文参数压缩算法。
背景技术
URL参数是追加到URL 上的一个名称/值对,RFC1738、RFC3986等相关文档规定,需要对URL参数中的中文进行编码后再传送。URL编码是对不安全字符以百分号(%)用十六进制进行编码,只有US-ASCII字符集的一个子集的字符才能允许出现在URL中。
Web编程语言如JavaScript、PHP等提供了URL编码函数如escape、encodeURI、urlencode等,但这些函数对URL的中文参数编码后长度过长。浏览器和服务器对URL的长度有一定的限制,过长的URL不仅可能导致服务器产生拒绝请求服务的错误,在海量用户环境下还会影响请求的提交和服务器响应。
发明内容
本发明的目的在于提供一种URL中文参数压缩算法,该算法压缩效果好,有利于减小URL的中文参数的编码长度。
本发明采用的技术方案是:一种URL中文参数压缩算法,按如下步骤进行中文编码:
步骤1:将16位的汉字Unicode值左移两位成18位,然后表示成长度分别为6位、6位、6位的三块;
步骤2:当第二块的二进制值为111110或111111时,将第二块前五位的任意一位与第三块的末位交换;
步骤3:将经过步骤1、2处理的汉字二进制编码进行Base64编码,实现URL中文参数的压缩。
当Web页面采用Unicode 1.0的CJK统一字符或GB2312编码时,可采用该算法进行URL中文参数的压缩。
当Web页面采用BIG5或GBK编码时,对于映射到Unicode的编码值不在U+4E00~U+9FA5范围中的CJK兼容汉字,按如下方法进行编码:先将16位的汉字Unicode值左移两位成18位,并表示成长度分别为6位、6位、6位的三块,然后将第一块的最后两位交换,最后将经过处理的汉字二进制编码进行Base64编码,实现URL中文参数的压缩。
本发明的有益效果是针对URL中文参数的特点,结合Base64设计并实现了一种改良的URL中文参数压缩算法。该算法压缩效果好,应用广泛,适用于多种中文字符集编码。该算法不仅一定程度上避免了URL长度超过浏览器/服务器的限制,而且显著减少服务器不必要的流量,并缩短服务器的响应时间,提升在网络拥塞情况下用户的浏览体验。
附图说明
图1是本发明算法的工作流程图。
图2是Base64算法的编码过程图。
图3是本发明算法在Unicode值的第二块出现111110或111111时的编码过程图。
图4是CP936中映射到Unicode的编码值不在U+4E00~U+9FA5范围中的21个CJK兼容字符列表。
图5是本发明算法在Unicode值的第一块出现111110时的编码过程图。
具体实施方式
本发明URL中文参数压缩算法,按如下步骤进行中文编码:
步骤1:把16位的二进制汉字Unicode值左移两位转换成18位,然后表示成长度分别为6位、6位、6位的三块,易知只有第二块的十进制值可能为62(二进制111110)或63(二进制111111);
步骤2:当第二块的二进制值为111110或111111时,将第二块前五位的任意一位与第三块的末位交换;
步骤3:将经过步骤1、2处理的汉字二进制编码进行Base64编码,实现URL中文参数的压缩。
在本实施例中,当第二块的二进制值为111110或111111时,将第二块的第三位与第三块的末位交换。
当Web页面采用Unicode 1.0的CJK统一字符或GB2312编码时,可采用该算法进行URL中文参数的压缩。
当Web页面采用BIG5或GBK编码时,对于映射到Unicode的编码值不在U+4E00~U+9FA5范围中的CJK兼容汉字,按如下方法进行编码:
先将16位的二进制汉字Unicode值左移两位转换成18位,并表示成长度分别为6位、6位、6位的三块,然后将第一块的最后两位交换,最后将经过处理的汉字二进制编码进行Base64编码,实现URL中文参数的压缩。
下面结合具体实施例对本发明作进一步说明。
1、算法基本思想-Base64算法
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210291968.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有复制偏置方案的电流感测放大器
- 下一篇:一种3D立体成像展柜