TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #583 4.68K
🤔 Что означает URL encoding, как это осуществить в Java?

URL encoding (кодирование URL) используется для преобразования символов в URL, которые не допускаются или имеют специальное значение, в соответствующие процентные представления. Это необходимо для правильной передачи данных через URL.

Основные аспекты URL encoding:

Назначение:
🟠Обеспечение корректной передачи данных в URL.
🟠Преобразование специальных символов (например, пробелов, &, ?, =) в их эквиваленты в формате %XX, где XX — это шестнадцатеричное значение байта.

Когда это необходимо:
🟠При передаче данных в строке запроса URL (например, параметры GET).
🟠При передаче данных в пути URL, чтобы избежать интерпретации специальных символов как частей URL.

Пример:
🟠Пробелы заменяются на %20.
🟠Символы &, ?, = и другие заменяются на %26, %3F, %3D соответственно.

В Java для кодирования URL используется класс URLEncoder и метод encode(). Этот метод принимает строку и кодировку, которую нужно использовать (например, UTF-8), и возвращает закодированную строку.
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class URLEncoderExample {
public static void main(String[] args) {
try {
String originalString = "Hello World! This is a test: & = ?";
String encodedString = URLEncoder.encode(originalString, "UTF-8");
System.out.println("Original: " + originalString);
System.out.println("Encoded: " + encodedString);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}

```
Original: Hello World! This is a test: & = ?
Encoded: Hello+World%21+This+is+a+test%3A+%26+%3D+%3F


Для расшифровки (декодирования) URL в Java используется класс URLDecoder и метод decode().
java
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class URLDecoderExample {
public static void main(String[] args) {
try {
String encodedString = "Hello+World%21+This+is+a+test%3A+%26+%3D+%3F";
String decodedString = URLDecoder.decode(encodedString, "UTF-8");
System.out.println("Encoded: " + encodedString);
System.out.println("Decoded: " + decodedString);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}


Encoded: Hello+World%21+This+is+a+test%3A+%26+%3D+%3F
Decoded: Hello World! This is a test: & = ?`


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 14
  • ❤ 3
More from @easy_java_ru
  1. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  2. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
  3. Oct 9, 2026🤔 В чём различие между LeftJoin , RightJoin и InnerJoin? LEFT JOIN, RIGHT JOIN и INNER JO…
  4. Oct 8, 2026🤔 Что такое поток "демон"? Демон-поток — это поток, который: - Работает на фоне (например…
  5. Oct 7, 2026🤔 Может ли Entity-класс быть абстрактным? Да, Entity может быть абстрактным, если он служ…
  6. Oct 7, 2026🤔 К какой категории сущности относится Primary Key? Primary Key (первичный ключ) в базах…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →