我是新手,无法找到确切的答案。我有一个URL中的特殊字符,如如何表示特殊字符的字符串URL?
"&", "#", "?" "<"
它会引起问题。 (如果有人可以建议如何处理这种情况,那么这将是一个额外的帮助)。我的主要问题是,如何在JAVA中表示以下类型的URL的字符串文字?
"x###y"
我了解到,我们需要把它hex
代码值(使用%
)。有人可以建议确切的答案来解决这个URL的问题?
我是新手,无法找到确切的答案。我有一个URL中的特殊字符,如如何表示特殊字符的字符串URL?
"&", "#", "?" "<"
它会引起问题。 (如果有人可以建议如何处理这种情况,那么这将是一个额外的帮助)。我的主要问题是,如何在JAVA中表示以下类型的URL的字符串文字?
"x###y"
我了解到,我们需要把它hex
代码值(使用%
)。有人可以建议确切的答案来解决这个URL的问题?
java.net.URLEncoder.encode(YOUR_STRING, "UTF-8");
参见this question一种方式,只有编码的url您需要的部分:
URLEncoder is not for encoding URLs it is there to encode form data
请访问以下链接了解更多详情
答案取决于数据在URL中的位置。 URL的不同部分将有不同的编码规则。
确切的形式也可能取决于服务器期望的URI格式。在查询部分
参数通常可以使用被编码为application/x-www-form-urlencoded
的URLEncoder:
String query = URLEncoder.encode("key1", "UTF-8")
+ "="
+ URLEncoder.encode("value1", "UTF-8")
+ "&"
+ URLEncoder.encode("key2", "UTF-8")
+ "="
+ URLEncoder.encode("value2", "UTF-8");
如果需要在URI(路径部分或片段的部分)的其它部分以编码读this 。
URLEncoder是用于表单编码的URL编码。 “... HTML表单编码....”但我同意命名非常糟糕,并导致误解 – fmucar 2011-05-27 10:23:35