Kodowanie URL (kodowanie procentowe) to proces konwersji niebezpiecznych znaków w URL na format %XX. URL mogą zawierać tylko niewielki podzbiór znaków ASCII (litery, cyfry, -_.~), wszystkie inne znaki (w tym chińskie, spacje, znaki specjalne) muszą zostać zakodowane przed przekazaniem w URL. Np. spacja staje się %20, chiński znak '中' staje się %E4%B8%AD.
**encodeURIComponent vs encodeURI**: To dwie najczęściej używane funkcje kodowania. encodeURIComponent koduje bardziej dokładnie, w tym separatory parametrów takie jak &, =, ?, więc nadaje się do kodowania pojedynczych wartości parametrów. encodeURI zachowuje strukturę URL (scheme://, ścieżka, /, ?, #), więc nadaje się do kodowania pełnych URL. Nieprawidłowe użycie prowadzi do błędów parsowania parametrów.
**RFC 3986 vs stare standardy**: RFC 3986 traktuje tyldę ~ jako bezpieczny znak niewymagający kodowania, podczas gdy wczesne standardy kodują ją jako %7E. Użycie RFC 3986 zmniejsza niepotrzebne escapowanie, poprawia czytelność URL i pozwala uniknąć problemów z parsowaniem %7E na niektórych serwerach.
**Tryb Query Only**: Używany, gdy chcesz zakodować tylko wartości parametrów w query string URL, bez zmiany nazw kluczy, znaków równości i znaków &. Np. ?name=张三 jest kodowane jako ?name=%E5%BC%A0%E4%B8%89, zachowując czytelne nazwy kluczy i kodując tylko wartości.
**Podświetlanie kodowania**: Podświetla w czasie rzeczywistym znaki w formacie %XX na bursztynowo, dzięki czemu użytkownicy od razu widzą, które znaki zostały zakodowane. Pomaga to zrozumieć reguły kodowania: litery i cyfry są zwykle bezpiecznymi znakami, które nie są kodowane, tylko chińskie i znaki specjalne są kodowane. Wszystkie obliczenia są wykonywane lokalnie w przeglądarce, dane nie są przesyłane.