Класс URLDecoder
public class URLDecoder extends Object
application/x-www-form-urlencoded MIME. Процесс преобразования является обратным процессу, используемому классом URLEncoder. Предполагается, что все символы в закодированной строке являются одним из следующих: "a" по "z", "A" по "Z", "0" по "9", и "-", "_", ".", и "*". Символ "%" разрешен, но интерпретируется как начало специальной эскейп-последовательности.
Применяются следующие правила преобразования:
- Алфавитно-цифровые символы "
a" по "z", "A" по "Z" и "0" по "9" остаются без изменений. - Специальные символы "
.", "-", "*" и "_" остаются без изменений. - Плюс-символ "
+" преобразуется в пробел " " . - Последовательность вида "
%xy" будет интерпретироваться как представление байта, где xy — двухзначное шестнадцатеричное представление 8 бит. Затем все подстроки, содержащие одну или более из этих последовательностей байтов, будут заменены символом(ами), кодирование которого привело бы к этим последовательным байтам. Схема кодирования для декодирования этих символов может быть указана; в противном случае будет использоваться кодировка по умолчанию.
Существует два возможных способа, которыми этот декодер может обрабатывать некорректные строки. Он может либо оставить некорректные символы без изменений, либо бросить исключение IllegalArgumentException. Какой подход использует декодер, остается на усмотрение реализации.
- С момента:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static String |
decode |
Устарело. Результирующая строка может отличаться в зависимости от кодировки по умолчанию. |
static String |
decode |
Декодирует строку application/x-www-form-urlencoded с использованием определённой схемы кодирования. |
static String |
decode |
Декодирует строку application/x-www-form-urlencoded с использованием определённого Charset. |
Подробное описание методов
decode
@Deprecated public static String decode(String s)
x-www-form-urlencoded. Кодировка по умолчанию используется для определения символов, представленных любыми последовательными последовательностями вида "%xy".- Параметры:
-
s- строкаStringдля декодирования - Возвращает:
- новая декодированная строка
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), за исключением того, что он будет искать кодировку с помощью данного имени кодировки.
- Примечание реализации:
- Эта реализация будет выбрасывать
IllegalArgumentExceptionпри обнаружении некорректных строк. - Параметры:
-
s- строкаStringдля декодирования -
enc- Имя поддерживаемой кодировки символов. - Возвращает:
- новая декодированная строка
String - Исключения:
-
UnsupportedEncodingException- Если кодировка символов должна быть проконсультирована, но указанная кодировка символов не поддерживается - С момента:
- 1.4
- См. также:
decode
public static String decode(String s, Charset charset)
application/x-www-form-urlencoded с использованием определённого Charset. Указанная кодировка используется для определения символов, представленных любыми последовательными последовательностями вида "%xy". Примечание: Рекомендация Консорциума Всемирной паутины указывает, что следует использовать UTF-8. Использование другой кодировки может привести к несовместимости.
- Примечание реализации:
- Эта реализация будет выбрасывать
IllegalArgumentExceptionпри обнаружении некорректных строк. - Параметры:
-
s- строкаStringдля декодирования -
charset- заданная кодировка - Возвращает:
- новая декодированная строка
String - Исключения:
-
NullPointerException- еслиsилиcharsetявляетсяnull -
IllegalArgumentException- если реализация сталкивается с некорректными символами - С момента:
- 10
- Внешние спецификации
- См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/net/URLDecoder.html