Bỏ qua, tới nội dung
Monu Tools

Mã hóa / Giải mã URL

Mã hóa và giải mã percent cho URL và thành phần URL, an toàn UTF-8.

Cách dùng Mã hóa URL

  1. 01

    Dán văn bản hoặc URL của bạn.

  2. 02

    Chọn mã hóa hoặc giải mã, và phạm vi thành phần hoặc URL đầy đủ.

  3. 03

    Sao chép kết quả.

Mã hóa phần trăm làm gì

URL chỉ được phép chứa một tập ký tự hạn chế, nên mọi thứ ngoài tập đó, gồm khoảng trắng, chữ có dấu và các ký hiệu dành riêng như & ? / =, đều phải được thoát. Mã hóa phần trăm thay mỗi byte như vậy bằng dấu phần trăm cùng giá trị thập lục phân hai chữ số của nó, nên khoảng trắng thành %20 còn dấu và thành %26.

Công cụ này mã hóa văn bản và URL sang dạng mã hóa phần trăm rồi giải mã ngược lại. Nó dựa trên các hàm chuẩn encodeURIComponent và encodeURI của trình duyệt, nên kết quả khớp đúng với thứ mà chính JavaScript của bạn sẽ tạo ra, và an toàn với UTF-8 cho văn bản quốc tế.

Việc mã hóa và giải mã chạy hoàn toàn trong trình duyệt của bạn, nên không có gì bạn dán vào bị gửi tới máy chủ, điều rất đáng yên tâm khi một URL chứa token hay tham số truy vấn mà bạn không muốn chia sẻ.

Chế độ thành phần và chế độ URL đầy đủ

Việc chọn phạm vi rất quan trọng. Chế độ thành phần (encodeURIComponent) thoát các ký tự dành riêng như & = ? / và là thứ bạn cần cho một giá trị trong chuỗi truy vấn hay một đoạn đường dẫn. Chế độ URL đầy đủ (encodeURI) giữ nguyên các ký tự cấu trúc để một URL trọn vẹn vẫn dùng được.

Những lỗi thường gặp cần tránh

Một lỗi thường gặp là mã hóa cả một URL bằng chế độ thành phần, khiến :// và ? bị thoát và liên kết hỏng. Lỗi khác là mã hóa hai lần, khi một chuỗi đã mã hóa lại được mã hóa tiếp và %20 biến thành %2520. Khi phân vân, hãy giải mã trước để thấy giá trị gốc.

Chuyện dấu cộng trong chuỗi truy vấn

Còn có một điểm lạ mang tính lịch sử trong chuỗi truy vấn: khi gửi biểu mẫu, khoảng trắng được mã hóa thành dấu cộng, còn mã hóa phần trăm thì dùng %20. Cả hai đều xuất hiện ngoài thực tế, nên các bộ giải mã thường chấp nhận cả hai.

Câu hỏi thường gặp

Thành phần hay URL đầy đủ?

'Thành phần' (encodeURIComponent) thoát các ký tự dành riêng như & = ? / cho giá trị truy vấn. 'URL đầy đủ' (encodeURI) giữ nguyên cấu trúc URL.

Vì sao giải mã thất bại?

Các chuỗi percent sai định dạng (như một dấu % đơn lẻ) không thể giải mã. Hãy kiểm tra dữ liệu nhập hoặc mã hóa lại trước.

Nguồn

Báo lỗi