URLEncode编码和URLDecode解码
1 String text1 = java.net.URLEncoder.encode("中国" ,"utf-8" ); 2 String text2 = java.net.URLDecoder.decode(text1,"utf-8");
例如,假设你想编码这个string:
pg=q&kl=XX&stype=stext&q=+"Java+I/O"&search.x=38&search.y=3
这段代码对其进行编码:
1 String query = java.net.URLEncoder.encode( "pg=q&kl=XX&stype=stext&q=+"Java+I/O"&search.x=38&search.y=3"); 2 3 System.out.println(query);
不幸的是,得到的输出是:
pg%3Dq%26kl%3DXX%26stype%3Dstext%26q%3D%2B%22Java%2BI%2FO%22%26search.x%3D38%26search.y%3D3
出现这个问题就是方法URLEncoder.encode( ) 在进行盲目地编码。它不能区分在URL或者查询string中被用到的特殊字符(像前面string中的“=”,和“&”)和确实需要被编码的字符。所以URL需要一次只编码一块。
1 private static String _MakeURL(String p_url, Map<String, Object> params) throws UnsupportedEncodingException { 2 StringBuilder url = new StringBuilder(p_url); 3 // Strng.indexOf(substring) //搜索String中的substring,默认从0位开始; 4 5 if(url.indexOf( "?")<0) 6 url.append( '?'); 7 8 for(String name : params.keySet()){ 9 url.append( '&'); 10 url.append(name); 11 url.append( '='); 12 //url.append(String.valueOf(params.get(name))); 13 //做URLEncoder处理 14 url.append(URLEncoder. encode(String.valueOf (params.get(name)), "UTF-8")); 15 } 16 17 return url.toString().replace( "?&", "?"); 18 }
1 String input = "http://www.altavista.com/cgi-bin/"+"qerry?pg=q&kl=XX&stype=stext&q=%2B%22Java+I%2FO%22&search.x=38&search.y=3"; 2 try { 3 String output = java.net.URLDecoder.decode(input, "UTF-8"); 4 System.out.println(output); 5 }
转载于:https://www.cnblogs.com/wufeng0927/p/5335367.html
URLEncode编码和URLDecode解码相关推荐
- Python urlencode编码和urldecode解码
Python3 urlencode编码和urldecode解码分别用到了urllib.parse.quote和urllib.parse.unquote. import urllib.parse fon ...
- python 中的 urlencode 编码与 urldecode 解码
文章目录 脚本示例 运行结果 脚本示例 在 python 中进行 UrlEncoded 与 UrlDecode 操作需要导入 urllib 相关函数库: import urllib.parse 脚本示 ...
- java urlencode 解码_java.net.URLEncode编码 与 URLDecode解码问题
网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z", ...
- 怎么进行:URLEncode编码 与 URLDecode解码
该方法要求你自己指定编码形式.这两个类都不用初始化: public class URLDecoder extends Object public class URLEncoder extends Ob ...
- 在线UrlEncode编码和UrlDecode解码(#用%23代替)
http://www.urlencode.com.cn/ #号可以用%23代替
- java.net.URLEncode编码 与 URLDecode解码问题
原文:http://blog.csdn.net/luojian520025/article/details/9139293 -------------------------------------- ...
- asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
在asp中加一个链接,指向asp.net网页,但asp.net的网址是经过HttpUtility.UrlEncode转换和HttpUtility.UrlDecode解码的,而asp的server.ur ...
- php url编码原理,urlencode编码/urldecode解码作用及使用方法
urlencode和urldecode释义 urlencode是一个函数,可将字符串以URL编码,用于编码处理. URL编码(URL encoding),也称作百分号编码(Percent-encodi ...
- JS javascript实现url编码和url解码(urlEncode urlDecode)
本文转自:JS javascript实现url编码和url解码(urlEncode urlDecode) 转载请保留. 表单通过get方式提交中文数据时,提交的中文会被转化为类似"%CC% ...
最新文章
- INADDR_ANY的理解
- fileviewfinder.php,Laravel在FileViewFinder.php中查找视图的错误处理程序
- java怎么表示10 2_java -Xmx1G是否表示10 ^ 9或2 ^ 30字节?
- 神策 FM | 20 种方法,让你成为用户的知心朋友
- great sentences for university sentences
- Thrift异步IO服务器源码分析
- IDEA overwrite报错、languagelevel设置不生效问题
- VSCode摸鱼插件 — FreeWindow
- Spring Boot(3)---Spring Boot入门:系统要求
- 2021年行政区划代码(含经纬度)mysql库
- 微信小程序短视频去水印解析
- 金融、银行业务了解(自我盲点整理)
- EXCEL-日常技巧整理-2-单元格拆分后原数据填充
- 理解Monitor监视器锁原理
- avr 74hc595驱动数码管动态显示c语言例程,一种电梯钢丝绳张力计控制系统软件的设计...
- 51单片机串口通信(自动发送)
- Lotus Notes 7.0找不到服务器路径
- 资料分享:送你一本《C#区块链编程》电子书!
- latex中文小标题_LaTeX标题怎样使用中文?
- 治疗脱发需要多少钱?如何选择合适的治疗方案?
热门文章
- 讲讲volatile的作用
- Server2012R2 ADFS3.0 The same client browser session has made '6' requests in the last '13'seconds
- 如何使用Gitbook创建html技术文档
- 初学Vue.js,从头来过~
- Java高级篇(二)——网络通信
- 对特朗普获胜感到意外? 那你是被社交媒体迷惑了
- [置顶]tcpflow 抓包
- 魅族MX4的线控电路图
- 理解UI线程——SWT, Android, 和Swing的UI机理
- HDOJ 1228 A+B(map水题)