Encoder Komponen URI
Jika Anda pernah meneruskan nilai seperti name=John & Jane ke dalam URL tanpa mengenkodenya, Anda tahu derita itu: & dibaca sebagai parameter baru dan server melihat data kacau. Tool ini melakukan percent-encode pada string apa pun untuk penggunaan aman sebagai komponen URI sesuai RFC 3986, dan mengubah setiap karakter yang dicadangkan menjadi pasangan %HH (termasuk spasi). Tempel sebuah fragmen, nilai kueri, atau target pengalihan dan dapatkan kembali sesuatu yang aman untuk digabungkan ke dalam URL apa pun.
Cara mengenkode komponen URI
-
1
Tempel nilai Anda
Masukkan satu nilai parameter kueri, segmen path, atau string fragmen.
-
2
Pilih enkode atau dekode
Ubah arah untuk mengembalikan percent-escape menjadi karakter aslinya.
-
3
Jalankan
Tool mengenkode setiap karakter ke UTF-8, lalu mengganti setiap byte yang dicadangkan dengan %HH.
-
4
Salin hasilnya
Masukkan output langsung ke templat URL atau klien API Anda.
Apa yang di-escape
Encoder ini mengikuti RFC 3986: hanya himpunan yang tak dicadangkan yang dibiarkan utuh, A-Z a-z 0-9 - _ . ~. Selebihnya menjadi UTF-8 yang di-percent-encode, termasuk spasi dan sub-delimiter ! * ' ( ) yang akan dibiarkan oleh encodeURIComponent JavaScript.
| Karakter | Dienkode jadi |
|---|---|
| spasi | %20 |
! |
%21 |
# |
%23 |
& |
%26 |
' |
%27 |
( |
%28 |
) |
%29 |
* |
%2A |
+ |
%2B |
/ |
%2F |
= |
%3D |
? |
%3F |
é |
%C3%A9 |
Komponen vs URI penuh
Encoder ini lebih ketat daripada encodeURI, yang membiarkan : / ? # [ ] @ ! $ & ' ( ) * + , ; = apa adanya karena karakter tersebut bersifat struktural dalam sebuah URL. Untuk nilai yang Anda gabungkan ke dalam query string, Anda ingin bentuk yang ketat, dan itulah yang dihasilkan tool ini: ia bahkan meng-escape ! ' ( ) *, melangkah lebih jauh dari encodeURIComponent JavaScript.
const url = `/search?q=${encodeURIComponent(userInput)}`;
Jebakan umum
- Enkode ganda: mengenkode sesuatu yang sudah dienkode memberi Anda
%2520alih-alih%20. Selalu dekode dulu jika Anda ragu tentang sumbernya. - Tanda plus dalam formulir: pengiriman formulir HTML mengenkode spasi sebagai
+, bukan%20. Dekoder yang mengikuti RFC 3986 secara ketat (termasuk yang ini) tidak akan mengembalikan+menjadi spasi. Gunakan dekoder yang sadar-formulir untuk kasus tersebut. - Pemisah path: mengenkode
/di sini mengubahnya menjadi%2F. Jika Anda ingin mempertahankan struktur path yang sebenarnya, gabungkan dulu segmen-segmennya lalu enkode masing-masing secara terpisah.
Pertanyaan yang Sering Diajukan
Ini adalah percent-encoding sesuai RFC 3986, bentuk yang ketat. Ia meng-escape :, /, ?, # dan karakter dicadangkan lainnya (plus !, ', (, ) dan *) karena sebuah komponen tidak boleh membawa struktur URL di dalamnya. Ini membuatnya lebih ketat daripada encodeURIComponent JavaScript dan jauh lebih ketat daripada encodeURI.
%20 adalah cara RFC 3986. + untuk spasi adalah warisan dari pengkodean body application/x-www-form-urlencoded. Untuk query string dalam URL, %20 selalu aman; + hanya diharapkan di server ketika dihasilkan oleh POST formulir.
Setiap karakter dienkode UTF-8 terlebih dahulu, lalu setiap byte di-escape. Karakter seperti 日 menjadi %E6%97%A5 (tiga byte).
Tidak. Nilai di-percent-encode di server untuk membangun hasil Anda dan tidak disimpan atau dicatat; tidak ada yang Anda tempel yang dipertahankan setelah respons dikirim.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
JSON ke YAML
Konversi JSON ke YAML dengan penjelajaran yang tepat, penutupan string yang aman, skalar blok berbaris ganda, serta kunci yang tersortir untuk konfigurasi yang lebih rapi.
Decoder JWT
Dekode header dan payload JWT, tampilkan klaim beserta pemeriksaan masa kedaluwarsa dan algoritma tanda tangan, lalu verifikasi menggunakan rahasia bersama atau kunci publik.
Konverter Ukuran File
Konversi antara byte, KB, MB, GB, TB, dan satuan biner IEC (KiB, MiB, GiB, TiB) dengan kombinasi desimal dan biner apa pun yang Anda inginkan.
Alat ini tersedia dalam bahasa lain
- URI-Komponenten-Encoder [DE]
- Koder komponentu URI [PL]
- Codificador de Componentes URI [PT]
- URI-komponentkodare [SV]
- ตัวเข้ารหัสองค์ประกอบ URI [TH]
- Codificador de Componentes URI [ES]
- URIコンポーネントエンコーダー [JA]
- URI 컴포넌트 인코더 [KO]
- Bộ mã hóa Thành phần URI [VI]
- مُرمِّز مكوّن URI [AR]
- Encodeur de composants URI [FR]
- URI-component-encoder [NL]
- URI Component Encoder [EN]
- Codificatore di componenti URI [IT]
- Кодировщик компонента URI [RU]
- URI Bileşeni Kodlayıcı [TR]
- URI 组件编码器 [ZH]