Класс URLDecoder

public class URLDecoder
extends Object

Утилитарный класс для декодирования HTML-форм. Этот класс содержит статические методы для декодирования строки из формата application/x-www-form-urlencoded MIME.

Процесс преобразования является обратным процессу, используемому классом URLEncoder. Предполагается, что все символы в закодированной строке являются одним из следующих: "a" до "z", "A" до "Z", "0" до "9" и "-", "_", "." и "*". Символ "%" разрешён, но интерпретируется как начало специальной экранированной последовательности.

При преобразовании применяются следующие правила:

  • Алфавитно-цифровые символы "a" до "z", "A" до "Z" и "0" до "9" остаются неизменными.
  • Специальные символы ".", "-", "*" и "_" остаются неизменными.
  • Плюс знак "+" преобразуется в пробел " ".
  • Последовательность вида "%xy" будет интерпретироваться как представление байта, где xy — двухзначное шестнадцатеричное представление 8 бит. Затем все подстроки, содержащие одну или несколько из этих последовательностей байтов, будут заменены символом(ами), кодирование которого привело бы к этим последовательным байтам. Схема кодирования для декодирования этих символов может быть указана, или, если она не указана, будет использоваться кодировка по умолчанию платформы.

Существует два возможных способа, которыми этот декодер может обработать неверные строки. Он может либо оставить неверные символы без изменений, либо выбросить исключение IllegalArgumentException. Какой подход использует декодер, зависит от реализации.

Since:
1.2

Конструкторы

Конструктор Описание
URLDecoder()

Методы

Модификатор и тип Метод Описание
static String decode​(String s)

Устарело.

Результат может отличаться в зависимости от кодировки по умолчанию платформы.

static String decode​(String s, String enc)

Декодирует строку application/x-www-form-urlencoded с использованием определённой схемы кодирования.

static String decode​(String s, Charset charset)

Декодирует строку application/x-www-form-urlencoded с использованием определённого Charset.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

URLDecoder

public URLDecoder()

Методы

decode

@Deprecated
public static String decode(String s)
Устарело.
Результат может отличаться в зависимости от кодировки по умолчанию платформы. Вместо этого используйте метод decode(String,String) для указания кодировки.

Декодирует строку x-www-form-urlencoded. Кодировка по умолчанию платформы используется для определения символов, представленных любыми последовательными последовательностями вида "%xy".

Parameters:
s - декодируемая String
Returns:
новая декодированная String

decode

public static String decode(String s,
                            String enc)
                     throws UnsupportedEncodingException

Декодирует строку application/x-www-form-urlencoded с использованием определённой схемы кодирования.

Этот метод ведет себя так же, как decode(java.lang.String,java.nio.charset.Charset), за исключением того, что он будет искать набор символов с использованием заданного имени кодировки.

Implementation Note:
Эта реализация выбросит IllegalArgumentException при обнаружении неверных строк.
Parameters:
s - декодируемая String
enc - Имя поддерживаемой кодировки символов.
Returns:
новая декодированная String
Throws:
UnsupportedEncodingException - Если необходимо обратиться к кодировке символов, но заданная кодировка символов не поддерживается
Since:
1.4
See Also:
URLEncoder.encode(java.lang.String, java.lang.String)

decode

public static String decode(String s,
                            Charset charset)

Декодирует строку application/x-www-form-urlencoded с использованием определённого Charset. Предоставленный набор символов используется для определения символов, представленных любыми последовательными последовательностями вида "%xy".

Примечание: Рекомендация Консорциума Всемирной паутины указывает, что следует использовать UTF-8. Отсутствие этого может привести к несовместимости.

Implementation Note:
Эта реализация выбросит IllegalArgumentException при обнаружении неверных строк.
Parameters:
s - декодируемая String
charset - заданный набор символов
Returns:
новая декодированная String
Throws:
NullPointerException - если s или charset null
IllegalArgumentException - если реализация обнаруживает неверные символы
Since:
10
See Also:
URLEncoder.encode(java.lang.String, java.nio.charset.Charset)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URLDecoder.html

Spec-Zone .ru
спецификации, руководства, описания, API