Класс URLEncoder
Класс URLEncoder преобразует строку в формат
application/x-www-form-urlencoded. Этот формат
применяется при передаче данных через URL, например,
в параметрах GET-запроса или в теле POST-запроса.
При кодировании пробелы заменяются на знак +,
а специальные символы (такие как &, =,
?, / и другие) заменяются на
последовательность %XX, где XX -
шестнадцатеричный код символа в кодировке UTF-8.
Класс содержит только статические методы, поэтому
создавать его экземпляр не нужно.
Синтаксис
URLEncoder.encode(String s, String enc)
В первый параметр передается строка для кодирования,
во второй - имя кодировки (например, "UTF-8").
Метод возвращает закодированную строку.
Пример
Давайте закодируем строку с пробелом и специальными символами:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String str = "abcde & = ?";
String res = URLEncoder.encode(str, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"abcde+%26+%3D+%3F"
Пример
Давайте закодируем строку с кириллицей:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String str = "привет";
String res = URLEncoder.encode(str, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82"
Пример
Давайте закодируем строку и используем результат в качестве параметра URL:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
String query = "abcde 12345";
String res = "https://example.com/search?q="
+ URLEncoder.encode(query, StandardCharsets.UTF_8);
System.out.println(res);
}
}
Результат выполнения кода:
"https://example.com/search?q=abcde+12345"
Смотрите также
-
класс
URL,
который представляет URL-адрес -
класс
URI,
который представляет URI-идентификатор -
класс
URLDecoder,
который декодирует строку из формата URL -
метод
encode,
который кодирует строку в формат URL