Подтвердить что ты не робот

Как вы просматриваете URL-адреса в Java?

Когда я читаю xml через URL InputStream, а затем вырезаю все, кроме URL-адреса, я получаю " http://cliveg.bu.edu/people/sganguly/player/%20Rang%20De%20Basanti%20-%20Tu%20Bin%20Bataye.mp3".

Как вы можете видеть, существует много "%20".

Я хочу, чтобы url был unescaped.

Есть ли способ сделать это на Java, не используя стороннюю библиотеку?

4b9b3361

Ответ 1

Это не unescaped XML, это текст с кодировкой URL. Похоже, вы хотите использовать следующие строки URL.

URLDecoder.decode(url);

Это даст вам правильный текст. Результатом декодирования, который вы предоставили, является это.

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

. %20 - символ экранированного пробела. Чтобы получить выше, я использовал объект URLDecoder.

Ответ 2

У меня возникают проблемы с использованием этого метода, когда у меня есть специальные символы, такие как á, é, í и т.д. Мое (возможно, дикое) предположение - широкоформатные кодировки не кодируются должным образом... ну, на по крайней мере, я ожидал увидеть такие последовательности, как %uC2BF, а не %C2%BF.

Отредактировано: My bad, этот пост объясняет разницу между кодировкой URL и escape-последовательностями JavaScript: кодировка URI в UNICODE для apache httpclient 4