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