Kodowanie URL jest najzwyczajniejszym przystosowaniem adresu URL do wymogów z protokołu HTTP. Protokół HTTP wymaga aby znaki specjalne były zakodowane w prostszy sposób.
\text{https://example.com?name=John Doe} \rightarrow \text{https://example.com?name=John\%20Doe}
Inna nazwa – kodowanie procentowe
Czasami można spotkać inną nazwę – kodowanie procentowe. A związane jest to z tym, że dużo znaków jest zastępowanych kombinacją procent-dwie cyfry szesnastkowe:
\text{\%DWIE CYFRY SZESNASTKOWE}Kilka zastępników:
| ZNAK | ZASTĘPNIK |
|---|---|
| (znak spacji) | %20 |
| ! | %21 |
| ? | %3F |
| @ | %40 |
Przykład w kodzie
Użycie biblioteki Guava
pom.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
Main.java
class URLEncodingWithDifferentCharactersEncoding {
public static void main(String[] args) {
String url = "https://example.com?name=John Doe";
System.out.println(UrlEscapers.urlFragmentEscaper().escape(url));
}
}