Hướng dẫn công cụ
Về Bộ mã hóa/giải mã URL
URL Encoder/Decoder đổi ký tự URL không an toàn hoặc reserved thành percent-encoded văn bản, rồi decode encoded strings về văn bản dễ đọc.
Dùng cho query parameters, path không phải tiếng Anh, callback URLs và URL fragments copy từ logs. Tất cả chạy cục bộ trong trình duyệt.
Cách dùng URL Encoder/Decoder
- Dán full URL, query parameter giá trị hoặc văn bản cần encode.
- Bấm Encode để đổi khoảng trắng, văn bản không phải tiếng Anh và ký hiệu thành mã hóa phần trăm an toàn.
- Bấm Decode để đổi chuỗi như %E4%B8%AD%E6%96%87 về readable văn bản.
- Nếu chỉ một parameter cần encode, hãy encode giá trị thay vì cả chuỗi truy vấn để & và = vẫn giữ cấu trúc.
Khi nào nên dùng
- Encode search terms, callback URLs hoặc redirect parameters trước khi đặt vào URL để &, ? và # không cắt parameter.
- Decode percent-encoded paths hoặc query strings từ API logs thành văn bản dễ đọc.
- Debug double encoding trong OAuth redirect_uri, webhook callbacks hoặc shared links.
- So sánh đầu ra encodeURIComponent ở giao diện với giá trị máy chủ thực nhận.
Percent encoding, query parameters và lỗi thường gặp
Một số URL ký tự có ý nghĩa cấu trúc, như ?, &, =, # và /. Percent encoding ghi byte dưới dạng %HH để ký tự đi như data thay vì bị parse thành URL structure.
- Spaces: thường encode thành %20; form encoding cũng có thể dùng +.
- Text không phải tiếng Anh và emoji: encode thành UTF-8 byte trước, rồi ghi thành percent sequences.
- encodeURI vs encodeURIComponent: encodeURI giữ URL structure ký tự; encodeURIComponent tốt hơn cho một parameter giá trị.
- Double encoding: %25E4 thường nghĩa là percent sign có sẵn đã bị encode thêm lần nữa.
Câu hỏi thường gặp về Bộ mã hóa/giải mã URL
- Nên encode cả URL hay một parameter?
- Thường nên encode một parameter giá trị. Encode cả URL sẽ escape cả : / ? & và có thể làm link parse sai.
- Vì sao space lúc là %20, lúc là +?
- %20 là mã hóa phần trăm chung. Dấu + phổ biến trong application/x-www-form-urlencoded.
- Vì sao sau decode vẫn còn percent signs?
- Text có thể bị double-encoded, hoặc giá trị gốc chứa literal percent sign. Chỉ decode thêm khi chắc chắn là double encoding.
- URL-safe Base64 còn cần URL encoding không?
- Thường ít cần hơn vì tránh + và /. Nhưng vẫn kiểm tra = padding hoặc ký tự đặc biệt trước khi đặt vào chuỗi truy vấn.
- Input có bị upload không?
- Không. Encoding và decoding chạy cục bộ trong trình duyệt và không upload lên wetool.site.
URL encoding và Base64
URL encoding giúp ký tự an toàn bên trong URLs. Base64 biểu diễn byte thành văn bản. Tokens, images và binary payloads có thể dùng cả hai, nhưng giải quyết vấn đề khác nhau.
encodeURI vs encodeURIComponent
Nhiều lỗi URL encoding xảy ra khi full URL và một parameter giá trị bị xử lý như nhau.
- Full URL: ngữ nghĩa encodeURI giữ : / ? & = # làm ký tự cấu trúc, phù hợp với link đã ghép xong.
- Parameter giá trị: ngữ nghĩa encodeURIComponent encode &, =, ? và #, phù hợp cho search, redirect_uri, callback và giá trị tương tự.
- Form rules: application/x-www-form-urlencoded thường ghi space thành +; mã hóa phần trăm chung thường dùng %20.
Checklist debug URL encoding
Khi máy chủ nhận sai URL parameter, hãy kiểm tra trình duyệt, mã giao diện, gateway và framework máy chủ đã encode/decode bao nhiêu lần.
- %25 thường nghĩa là percent sign có sẵn đã bị encode thêm lần nữa, có thể là double encoding.
- Nếu redirect_uri chứa chuỗi truy vấn riêng, các ?, & và = bên trong phải được encode như data.
- Không đưa decoded user đầu vào trực tiếp vào HTML hoặc redirect URLs; vẫn cần protocol allowlist và đầu ra escaping.