如何在Java中卸载URL?
当我通过URL的输入流读取xml,然后删除除URL之外的所有内容时,我得到“” 正如您所看到的,有很多“%20” 我希望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
在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”);