Как реализовать rawurldecode в Java?

1

Я хотел бы преобразовать PHP-код в Java, то есть декодировать строку, сохраненную как кодированный формат URI.

То есть, измените

Это %20is %20a %20% 2Burl% 2B% 21

в

Это + url +!

Я посмотрел на java.net.URI, но нет подходящих примеров, и кажется, что все, что должно быть декодировано им, должно быть в правильном формате URI. Я хотел бы преобразовать строку, которая не в правильном формате, но содержит HTML-кодировку.

Теги:
web-applications

2 ответа

1
Лучший ответ
java.net.URLDecoder.decode("This%20is%20a%20%2Burl%2B%21", "UTF-8");

UTF-8 - это, конечно, пример. Используйте все, что бы ни вводили кодировки.

  • 0
    Я получаю ошибку UnsupportedEncodingException при попытке использовать UTF-8. Любые предложения о том, как это исправить, или я просто упустил что-то очевидное?
  • 0
    Я не получаю UnsupportedEncodingException. Какую JVM вы используете?
Показать ещё 3 комментария
1

Вы можете использовать URLDecoder (doc здесь). Он просто декодирует строку x-www-form-urlencoded String.

    String decodedString = URLDecoder.decode("This%20is%20a%20%2Burl%2B%21");
    System.out.println(decodedString);
  • 0
    Это работает, но документация говорит, что это устарело?
  • 0
    Вы можете использовать решение, которое дал вам Joe23, но поэтому вы должны знать, как кодируется текст (utf8, ...) - или просто использовать это и не обращать внимания на устаревшее на данный момент :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню