首页 > 其他 > 详细

备忘一下url相关的编码

时间:2014-04-26 18:10:32      阅读:533      评论:0      收藏:0      [点我收藏+]
1 Java中汉字在String中编码为Unicode. java.lang.String.getBytes(String charsetName)会进行重新编码,所以url.getBytes("unicode").length与url.getBytes("utf8").length结果可能不一样
2 java.net.URLEncoder.encode(String s, String charsetName), 对以下字符之外的字符做转码(‘a-z‘, ‘A-Z‘, ‘0-9‘, ‘-‘, ‘_‘, ‘.‘, ‘*‘), 特殊的是‘ ‘会被替换成‘+‘. 其他字符,包括汉字,会被替换成%xxx。
3 URL中的参数value值不能出现:‘+‘ ‘ ‘ ‘/‘ ‘#‘ ‘&‘ ‘=‘ ‘?‘ ‘%‘, 如果要出现的话需要转码。
4 理论上来说url中的paramValue出现2中安全字符外的其他字符都会被认为是非法URL,一般浏览器会自动encode. servlet中调用request.getParameter();方法会自动解码,有一个比较trick的地方是如果要根据原有url重新拼新url,String paramValue = request.getParameter(paramKey);一定要对paramValue encode一下才能拼接,掉过坑
5 base64是否可以代替URLEncoder.encode. 不可以。编码后的64个字符集:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 比如最后编码为+,request.getParameter();方法自动解码后变成空格

备忘一下url相关的编码,布布扣,bubuko.com

备忘一下url相关的编码

原文:http://www.cnblogs.com/daimin/p/3691657.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!