Класс URLDecoder
Класс URLDecoder выполняет обратное преобразование
по отношению к классу URLEncoder. Он принимает
строку, в которой специальные символы заменены
на последовательности вида %XX, а пробелы
заменены на знак +, и возвращает исходный
текст. Первым параметром метод принимает строку
для декодирования, вторым - название кодировки
(например, "UTF-8"). Класс содержит один
статический метод decode, поэтому создавать
объект этого класса не нужно.
Синтаксис
URLDecoder.decode(String s, String enc)
Пример
Давайте декодируем строку, в которой пробел
заменен на знак +:
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String encoded = "abc+de";
String res = URLDecoder.decode(encoded, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"abc de"
Пример
Давайте декодируем строку с процентными последовательностями:
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String encoded = "%31%32%33%34%35";
String res = URLDecoder.decode(encoded, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"12345"
Пример
Давайте выполним полный цикл: закодируем строку
с помощью URLEncoder, а затем декодируем
ее обратно:
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String original = "abc de";
String encoded = URLEncoder.encode(original, StandardCharsets.UTF_8);
System.out.println(encoded);
String res = URLDecoder.decode(encoded, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"abc+de"
"abc de"
Смотрите также
-
класс
URLEncoder,
который кодирует строку в формат URL -
метод
encode,
который выполняет кодирование строки -
метод
decode,
который выполняет декодирование строки -
класс
URL,
который представляет адрес ресурса в сети