Класс URLDecoder
- java.lang.Object
-
- java.net.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) |
Декодирует строку |
static String |
decode(String s,
Charset 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)
Декодирует строку 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илиcharsetnull -
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