Класс URLDecoder
public final class URLDecoder extends Object
application/x-www-form-urlencoded. Процесс преобразования является обратным процессу, используемому классом URLEncoder. Предполагается, что все символы в закодированной строке являются одним из следующих: «a» — «z», «A» — «Z», «0» — «9», а также «-», «_», «.» и «*». Символ «%» допускается, но интерпретируется как начало специальной escape-последовательности.
При преобразовании применяются следующие правила:
- Буквенно-цифровые символы «
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— если реализация обнаруживает некорректные escape-последовательности
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— если реализация обнаруживает некорректные escape-последовательности - С версии:
- 1.4
- См. также:
decode
public static String decode(String s, Charset charset)
application/x-www-form-urlencoded с использованием заданной Charset. Указанная кодировка используется для определения символов, представленных любыми последовательными escape-последовательностями вида «%xy». Некорректные байты заменяются значением замены для заданной Charset, указанным в значении замены. Примечание: В рекомендации Консорциума Всемирной паутины указано, что следует использовать UTF-8. Использование другой кодировки может привести к несовместимости.
- Параметры:
-
s—Stringдля декодирования -
charset— заданная кодировка - Возвращает:
- новую декодированную строку
String - Исключения:
-
NullPointerException— еслиsилиcharsetравенnull -
IllegalArgumentException— если реализация обнаруживает некорректные escape-последовательности - С версии:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/URLDecoder.html