是否有(正确)编码包含 unicode 字符的 URL 的 Android 类?例如:
Blue Öyster Cult
使用 java.net.URI 转换为以下内容:
uri.toString()
(java.lang.String) Blue%20Öyster%20Cult
Ö 字符未编码。使用URLEncoder
:
URLEncoder.encode("Blue Öyster Cult", "UTF-8").toString()
(java.lang.String) Blue+%C3%96yster+Cult
它编码太多(即空格变成“+”,路径分隔符“/”变成%2F)。如果我使用 Dolphin 网络浏览器单击包含 unicode 字符的链接,它可以正常工作,所以显然可以做到这一点。但是,如果我尝试使用上述任何字符串打开 HttpURLConnection,则会出现HTTP 404 Not Found
异常。