Bộ mã hóa URL / Bộ giải mã
Mã hóa và giải mã các URL và thành phần URI ngay lập tức trong trình duyệt của bạn. Miễn phí, riêng tư và không cần tải lên.
Mã hóa và giải mã các URL và thành phần URI ngay lập tức trong trình duyệt của bạn. Miễn phí, riêng tư và không cần tải lên.
Mã hóa URL (mã hóa phần trăm chính thức, được xác định trong RFC 3986) chuyển các ký tự có ý nghĩa đặc biệt trong URL — dấu cách, dấu gạch chéo, ký hiệu và dấu băm — sang dạng an toàn bằng cách sử dụng dấu phần trăm theo sau là chữ số thập lục phân. Ký tự khoảng trắng trở thành %20 (hoặc + trong ngữ cảnh được mã hóa biểu mẫu), ký hiệu và trở thành %26, v.v. Nếu không có mã hóa này, các ký tự đặc biệt sẽ được hiểu là cú pháp URL chứ không phải là dữ liệu bằng chữ, làm hỏng URL hoặc gây ra hành vi ngoài ý muốn.
Hai bảng mã liên quan nhưng khác biệt tồn tại. Mã hóa thành phần URL tiêu chuẩn sử dụng %-esscapes cho mọi thứ nằm ngoài bộ ký tự không được đặt trước: A-Z, a-z, 0-9, dấu gạch ngang, dấu gạch dưới, dấu chấm, dấu ngã. Biến thể được mã hóa biểu mẫu (application/x-www-form-urlencoded) còn xử lý khoảng trắng dưới dạng dấu cộng và sử dụng các quy tắc khác nhau cho một số ký tự khác. EncodeURIComponent của JavaScript sử dụng mã hóa thành phần nghiêm ngặt; EncodeURI sử dụng một hình thức dễ dãi hơn để bảo toàn các ký tự cấu trúc URL.
Công cụ này cung cấp cả mã hóa và giải mã. Chế độ mã hóa bao bọc từng ký tự yêu cầu thoát ở định dạng %HH; chế độ giải mã đảo ngược việc chuyển đổi. Cả hai đều chạy hoàn toàn trong trình duyệt của bạn bằng cách sử dụng các hàm URL JavaScript tích hợp, do đó không có dữ liệu nào được gửi đi bất cứ đâu.
Bất kỳ lúc nào dữ liệu được đưa vào URL — tham số chuỗi truy vấn, phân đoạn đường dẫn chứa thông tin nhập của người dùng, mục tiêu chuyển hướng — cần phải mã hóa thích hợp. Việc không mã hóa sẽ tạo ra các URL bị hỏng khi các ký tự đặc biệt xuất hiện, rò rỉ ranh giới tham số cho chuỗi truy vấn (chuyển &x=1 thành một tham số riêng) hoặc bị máy chủ web chặn do yêu cầu không đúng định dạng.
Giải mã thì ngược lại: trích xuất dữ liệu gốc từ một URL được mã hóa. Thanh địa chỉ trình duyệt thường hiển thị URL ở dạng được mã hóa; giải mã cho thấy những gì thực sự được dự định. Việc ghi nhật ký, gỡ lỗi và phân tích bảo mật đều được hưởng lợi từ các URL được giải mã hiển thị các tham số và đường dẫn ban đầu.
Dán một chuỗi, chọn hướng.
EncodeURIComponent mã hóa mọi ký tự bên ngoài tập hợp không được đặt trước [A-Za-z0-9-_.~]. Dấu cách trở thành %20, dấu cộng trở thành %2B, dấu bằng trở thành %3D, v.v. Các ký tự bên ngoài ASCII trước tiên được mã hóa bằng UTF-8 và sau đó mỗi byte được thoát %.
EncodeURI dễ dãi hơn và dành cho các URL đầy đủ thay vì các thành phần. Nó không thoát khỏi /, ?, &, =, # và một vài ký tự khác vì những ký tự đó có ý nghĩa cú pháp URL. Để nhúng dữ liệu người dùng vào URL, EncodeURIComponent hầu như luôn là lựa chọn phù hợp.
giải mãURIComponent đảo ngược %-esscapes, xác thực rằng mỗi lần thoát được định dạng đúng và các byte kết quả tạo thành UTF-8 hợp lệ. Đầu vào không đúng định dạng sẽ gây ra lỗi thay vì tạo ra rác.