в java мои пути к файлам с включенными пробелами отображаются как% 20, и я не уверен, почему

У меня есть модель выбора фотографий, но по какой-то причине всякий раз, когда я вызываю путь к изображениям, пространство в пути преобразуется в его HTML-код, и я не знаю, почему. У кого-нибудь из вас есть идеи? Спасибо за любую помощь, которую вы можете сэкономить.


person cshov    schedule 29.03.2011    source источник


Ответы (2)


Это закодированный URL. Я не знаю библиотеку java для декодирования, но я уверен, что она существует и довольно проста в использовании.

редактировать - http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLDecoder.html

это может быть?

person asawyer    schedule 29.03.2011
comment
+1 Это беспокоит меня уже несколько месяцев. Я всегда использовал метод toURI() для URL-адресов java, чтобы избежать получения закодированных URL-адресов, но это чище. - person Fil; 28.10.2011

В спецификации для URL-адресов (RFC 1738, декабрь 1994 г.) говорится:

Таким образом, только буквенно-цифровые символы, специальные символы "$-_.+!*'()," и зарезервированные символы, используемые для их зарезервированных целей, могут использоваться незакодированными в URL-адресе.

И у нас есть:

  1. Пробел = десятичная кодовая точка 32 в наборе ISO-Latin.
  2. 32 десятичное = 20 в шестнадцатеричном
  3. Представление в кодировке URL будет "%20"
person lukastymo    schedule 29.03.2011