好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
Java中用URL查询字符串参数的编码 关闭 返回上一级  

Java中用URL查询字符串参数的编码
+ 查看更多

发布日期:2018-03-10 10:49
分类:JAVA
浏览次数:355
我有一个网址
http://example.com/query?q=
我还有一个用户输入的查询,如:
random word £500 bank $
我想要结果是一个正确恰当的URL编码:
http://example.com/query?q=random%20word%20%A3500%20bank%20%24
实现这个的最好的方法是? 我尝试过URLEncoder和创建URI/URL对象,但没有一个能正确实现。

回答:

URLEncoder应该是正确的方法。 您只需要记住只对单个查询字符串参数名称和/或值,而不是整个URL进行编码,确保不要查询字符串参数分隔符字符和参数名称 - 值分隔符字符=。
String q = "random word £500 bank $";
String url = "http://example.com/query?q=" + URLEncoder.encode(q, "UTF-8");
注意查询参数中的空格是由+表示,而不是%20表示,这是合法有效的。%20通常用于表示URI本身(URI查询字符串分隔符之前的部分?)中的空格,而不是查询字符串(后面的部分—)。
还要注意有两个encode()方法。一个没有charset参数和另一个。 没有charset参数的一个不推荐使用。不要使用它,并且始终指定charset参数。javadoc甚至明确地建议使用UTF-8编码,如RFC3986和W3C所要求的。
所有其他字符都是不安全的,并且首先使用某种编码方案转换为一个或多个字节。 然后每个字节由3个字符的字符串“%xy”表示,其中xy是字节的两位十六进制表示。 建议使用的编码方案是UTF-8。 但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码。
上一篇在java中如何将一个数组转换为一个集合
如何使用java以空白字符分割字符串?下一篇
下一篇如何使用java以空白字符分割字符串?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号