如何在Java中卸载URL?

如何在Java中卸载URL?,java,url-encoding,Java,Url Encoding,当我通过URL的输入流读取xml,然后删除除URL之外的所有内容时,我得到“” 正如您所看到的,有很多“%20” 我希望url不被替换 在Java中有没有什么方法可以做到这一点,而不使用第三方库?这不是未转换的XML,这是URL编码的文本。在我看来,您希望在URL字符串上使用以下内容 URLDecoder.decode(url); 这将为您提供正确的文本。像您提供的那样解码的结果如下 http://cliveg.bu.edu/people/sganguly/player/ Rang De Ba

当我通过URL的输入流读取xml,然后删除除URL之外的所有内容时,我得到“”

正如您所看到的,有很多“%20”

我希望url不被替换


在Java中有没有什么方法可以做到这一点,而不使用第三方库?

这不是未转换的XML,这是URL编码的文本。在我看来,您希望在URL字符串上使用以下内容

URLDecoder.decode(url);
这将为您提供正确的文本。像您提供的那样解码的结果如下

http://cliveg.bu.edu/people/sganguly/player/ Rang De Basanti - Tu Bin Bataye.mp3

%20是转义空格字符。为了得到以上信息,我使用了URLDecover对象。

当我有特殊字符,如
á
é
í
,等等时,我在使用此方法时遇到了问题。我(可能是胡乱)猜测是widechar没有正确编码。。。嗯,至少我希望看到像
%uC2BF
这样的序列,而不是
%C2%BF

编辑:我的错,这篇文章解释了URL编码和JavaScript转义序列之间的区别:

从Java11开始使用 .
urldecker.decode(字符串s)
Java5以来一直被弃用

关于所选编码:

注:应使用UTF-8的状态。不这样做可能会导致不兼容


说得迂腐一点,没有“普通unicode”这样的东西。UTF8是表示unicode文本的几种方法之一。但并没有“真正的”规范表示,正如Jon和ng所说,这与Unicode或UTF-8无关。您可能需要更改标题。现在标记为正确的答案显然是错误的,应该删除。该方法已被弃用。使用URLDecover.decode(位置“UTF-8”);