Spec-Zone.ru › OpenJDK 27

Класс URLDecoder

java.lang.Object
java.net.URLDecoder
public final class URLDecoder extends Object
Вспомогательный класс для декодирования данных HTML-форм. Этот класс содержит статические методы для декодирования строки из формата MIME 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
См. также:
  • Charset.defaultCharset()

Краткое описание методов

Модификатор и тип Метод Описание
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.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определенного периода реального времени.

Подробное описание методов

decode

@Deprecated public static String decode(String s)
Устарело.
Результирующая строка может различаться в зависимости от кодировки по умолчанию. Вместо этого используйте метод decode(String,String), чтобы указать кодировку.
Декодирует строку 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
См. также:
  • URLEncoder.encode(java.lang.String, java.lang.String)

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
Внешние спецификации
  • Спецификация HTML 4.01
См. также:
  • URLEncoder.encode(java.lang.String, Charset)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API