2011-05-27 28 views
1

我是新手,无法找到确切的答案。我有一个URL中的特殊字符,如如何表示特殊字符的字符串URL?

"&", "#", "?" "<" 

它会引起问题。 (如果有人可以建议如何处理这种情况,那么这将是一个额外的帮助)。我的主要问题是,如何在JAVA中表示以下类型的URL的字符串文字?

"x###y" 

我了解到,我们需要把它hex代码值(使用%)。有人可以建议确切的答案来解决这个URL的问题?

回答

1
java.net.URLEncoder.encode(YOUR_STRING, "UTF-8"); 

参见this question一种方式,只有编码的url您需要的部分:

1

答案取决于数据在URL中的位置。 URL的不同部分将有不同的编码规则。

确切的形式也可能取决于服务器期望的URI格式。在查询部分

参数通常可以使用被编码为application/x-www-form-urlencodedURLEncoder

String query = URLEncoder.encode("key1", "UTF-8") 
      + "=" 
      + URLEncoder.encode("value1", "UTF-8") 
      + "&" 
      + URLEncoder.encode("key2", "UTF-8") 
      + "=" 
      + URLEncoder.encode("value2", "UTF-8"); 

如果需要在URI(路径部分或片段的部分)的其它部分以编码读this