URL Encoder/Decoder
Mã hóa hoặc giải mã các thành phần URL sử dụng `encodeURIComponent` và `decodeURIComponent` gốc của JavaScript.
Cách Hoạt Động
Bộ mã hóa/giải mã URL thay thế các ký tự đặc biệt bằng các chuỗi phần trăm an toàn URL (và ngược lại) theo RFC 3986.
Để mã hóa: gõ văn bản chứa khoảng trắng, ký tự đặc biệt hoặc Unicode. Công cụ thay thế các ký tự không an toàn bằng mã %HH của chúng (ví dụ khoảng trắng → %20, @ → %40).
Để giải mã: dán URL đã mã hóa hoặc chuỗi truy vấn và nhấp Giải mã để đọc văn bản gốc.
Mã hóa URL cần thiết để nhúng dữ liệu tùy ý vào URL — ví dụ như giá trị tham số truy vấn, tên tệp và đường dẫn chứa các ký tự đặc biệt. Công cụ hỗ trợ cả encodeURIComponent (chỉ thành phần) và encodeURI (URL đầy đủ).
Ví dụ thực tế
Mã hóa café & croissants bạn nhận caf%C3%A9%20%26%20croissants: é thành hai byte UTF-8 (%C3%A9), khoảng trắng thành %20, dấu & thành %26 — điều này quan trọng, vì một dấu & chưa mã hóa sẽ âm thầm xẻ đôi tham số truy vấn của bạn. Chế độ giải mã đảo ngược mọi chuỗi mã hóa phần trăm, còn bộ phân tích URL tách địa chỉ đầy đủ thành giao thức, máy chủ, đường dẫn và từng tham số truy vấn, mỗi phần được giải mã riêng. Gỡ lỗi một URL callback hỏng trở thành đọc bảng thay vì nheo mắt nhìn ký hiệu phần trăm.
Trường Hợp Sử Dụng
- Xây dựng chuỗi truy vấn
- Mã hóa dữ liệu biểu mẫu
- Sửa URL bị hỏng
- Giải mã tham số URL trong nhật ký
- Chuẩn bị dữ liệu cho yêu cầu REST API
Câu hỏi thường gặp
- Sự khác biệt giữa encodeURI và encodeURIComponent là gì?
- encodeURI giữ lại các ký tự cấu trúc URL (:, /, ?, #). encodeURIComponent mã hóa mọi thứ — sử dụng cho các giá trị tham số.
- Tại sao khoảng trắng được mã hóa là %20 hoặc +?
- %20 là tiêu chuẩn RFC 3986; + được sử dụng trong dữ liệu biểu mẫu (application/x-www-form-urlencoded).
- Công cụ có hỗ trợ Unicode không?
- Có — các ký tự Unicode trước tiên được mã hóa là UTF-8, sau đó mỗi byte là %HH.
- Mã hóa kép có phải là vấn đề không?
- Có — mã hóa URL đã được mã hóa gây ra mã hóa kép (ví dụ %20 → %2520).
- Dữ liệu của tôi có được gửi đến máy chủ không?
- Không — mã hóa được thực hiện cục bộ trong trình duyệt.