Класс 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 - Исключения:
-
IllegalArgumentException- если реализация столкнулась с некорректными последовательностями экранирования
decode
public static String decode(String s, String enc) throws UnsupportedEncodingException
application/x-www-form-urlencoded, используя определённую схему кодирования. Этот метод работает так же, как decode(java.lang.String,java.nio.charset.Charset), за исключением того, что он ищет кодировку по заданному имени кодировки.
- Параметры:
-
s- строкаStringдля декодирования -
enc- Имя поддерживаемой кодировки символов. - Возвращает:
- новую декодированную строку
String - Исключения:
-
UnsupportedEncodingException- Если требуется обратиться к кодировке символов, но заданная кодировка не поддерживается -
IllegalArgumentException- если реализация столкнулась с некорректными последовательностями экранирования - С момента:
- 1.4
- См. также:
decode
public static String decode(String s, Charset charset)
application/x-www-form-urlencoded, используя заданную кодировку Charset. Указанная кодировка используется для определения символов, представленных любыми последовательными последовательностями экранирования вида "%xy". Ошибочные байты заменяются значением подстановки заданной кодировки replacement value. Примечание: Рекомендация Консорциума Всемирной паутины гласит, что должна использоваться кодировка UTF-8. Использование другой кодировки может привести к несовместимости.
- Параметры:
-
s- строкаStringдля декодирования -
charset- заданная кодировка - Возвращает:
- новую декодированную строку
String - Исключения:
-
NullPointerException- еслиsилиcharsetимеет значениеnull -
IllegalArgumentException- если реализация столкнулась с некорректными последовательностями экранирования - С момента:
- 10
- Внешние спецификации
- См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/URLDecoder.html