Koder komponentu URI
Jeśli kiedykolwiek przekazałeś wartość taką jak name=John & Jane do adresu URL bez zakodowania jej, znasz ten ból: & jest odczytywany jako nowy parametr, a serwer widzi śmieci. To narzędzie koduje procentowo dowolny ciąg do bezpiecznego użycia jako komponent URI zgodnie z RFC 3986, zamieniając każdy zarezerwowany znak w parę %HH (spacje włącznie). Wklej fragment, wartość zapytania lub cel przekierowania i otrzymaj coś bezpiecznego do sklejenia w dowolnym adresie URL.
Jak zakodować komponent URI
-
1
Wklej swoją wartość
Wrzuć pojedynczą wartość parametru zapytania, segment ścieżki lub ciąg fragmentu.
-
2
Wybierz kodowanie lub dekodowanie
Przełącz kierunek, by zamienić escapy procentowe z powrotem na oryginalne znaki.
-
3
Uruchom
Narzędzie koduje każdy znak w UTF-8, a następnie zastępuje każdy zarezerwowany bajt przez %HH.
-
4
Skopiuj wynik
Wrzuć wynik bezpośrednio do swojego szablonu URL lub klienta API.
Co jest escapowane
Ten koder działa zgodnie z RFC 3986: nietknięty pozostaje tylko zestaw niezarezerwowany A-Z a-z 0-9 - _ . ~. Wszystko inne staje się procentowo zakodowanym UTF-8, w tym spacja i subdelimitery ! * ' ( ), które javascriptowy encodeURIComponent zostawiłby w spokoju.
| Znak | Kodowany jako |
|---|---|
| spacja | %20 |
! |
%21 |
# |
%23 |
& |
%26 |
' |
%27 |
( |
%28 |
) |
%29 |
* |
%2A |
+ |
%2B |
/ |
%2F |
= |
%3D |
? |
%3F |
é |
%C3%A9 |
Komponent a pełne URI
Ten koder jest surowszy niż encodeURI, który zostawia : / ? # [ ] @ ! $ & ' ( ) * + , ; = w spokoju, bo te znaki są strukturalne w adresie URL. Dla wartości, którą sklejasz w łańcuch zapytania, chcesz formy surowej, i dokładnie to daje to narzędzie: escapuje nawet ! ' ( ) *, idąc o krok dalej niż javascriptowy encodeURIComponent.
const url = `/search?q=${encodeURIComponent(userInput)}`;
Częste pułapki
- Podwójne kodowanie: zakodowanie czegoś, co jest już zakodowane, daje
%2520zamiast%20. Zawsze najpierw dekoduj, jeśli nie masz pewności co do źródła. - Znaki plus w formularzach: wysyłka formularza HTML koduje spacje jako
+, a nie%20. Dekodery, które ściśle stosują RFC 3986 (ten włącznie), nie zamienią+z powrotem na spację. Do takich przypadków użyj dekodera świadomego formularzy. - Separatory ścieżki: zakodowanie
/zamienia je tutaj w%2F. Jeśli chcesz zachować prawdziwą strukturę ścieżki, najpierw połącz segmenty i zakoduj każdy osobno.
Najczęściej zadawane pytania
To kodowanie procentowe zgodne z RFC 3986, forma surowa. Escapuje :, /, ?, # i pozostałe znaki zarezerwowane (a także !, ', (, ) i *), bo komponent nie powinien nieść w sobie struktury URL. To czyni go surowszym niż javascriptowy encodeURIComponent i znacznie surowszym niż encodeURI.
%20 to sposób z RFC 3986. + na spację to spuścizna po kodowaniu treści application/x-www-form-urlencoded. Dla łańcuchów zapytań w adresach URL %20 jest zawsze bezpieczne; + jest oczekiwane na serwerze tylko wtedy, gdy powstało z formularza POST.
Każdy znak jest najpierw kodowany w UTF-8, a potem każdy bajt jest escapowany. Znak taki jak 日 staje się %E6%97%A5 (trzy bajty).
Nie. Wartość jest kodowana procentowo na serwerze, aby zbudować twój wynik, i nie jest przechowywana ani logowana; nic z tego, co wklejasz, nie jest zachowywane po wysłaniu odpowiedzi.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Podgląd Markdown
Pisz w Markdown i obserwuj, jak wyrenderowany HTML aktualizuje się na żywo. Składnia w stylu GitHub z tabelami, listami zadań, ogrodzonymi blokami kodu i automatycznymi odnośnikami.
Narzędzie odstępów w kodzie Python
Ujednolić wcięcia oraz proste odstępy przy przecinkach i operatorach. To lekka obróbka tekstu, a nie Black, Ruff ani parser Pythona.
Formater JavaScript
Formatuj JavaScript, JSX, TypeScript i JSON z konfigurowalnym wcięciem, stylem cudzysłowów, średnikami i przecinkami końcowymi.
Narzędzie jest dostępne w innych językach
- Encoder Komponen URI [ID]
- URI-komponentkodare [SV]
- ตัวเข้ารหัสองค์ประกอบ URI [TH]
- URI-Komponenten-Encoder [DE]
- URIコンポーネントエンコーダー [JA]
- URI 컴포넌트 인코더 [KO]
- Codificador de Componentes URI [ES]
- Codificador de Componentes URI [PT]
- Bộ mã hóa Thành phần URI [VI]
- Encodeur de composants URI [FR]
- مُرمِّز مكوّن URI [AR]
- URI-component-encoder [NL]
- URI Component Encoder [EN]
- Codificatore di componenti URI [IT]
- Кодировщик компонента URI [RU]
- URI Bileşeni Kodlayıcı [TR]
- URI 组件编码器 [ZH]