Không tải lên, 100% cục bộ, không cần tài khoản

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

Mã hóa ký tự đặc biệt trong URL, hoặc giải mã chuỗi mã hóa phần trăm. Mọi thứ ở lại trong trình duyệt.

Cách Mã hóa / Giải mã URL hoạt động

Công cụ mã hóa/giải mã URL chuyển đổi chuỗi sang và từ percent-encoding (còn gọi là mã hóa URL), định dạng yêu cầu bởi RFC 3986 để đưa ký tự đặc biệt vào URL một cách an toàn. Dán chuỗi thô để mã hóa, hoặc dán chuỗi đã mã hóa phần trăm để giải mã trở lại dạng con người đọc được. Việc chuyển đổi chạy hoàn toàn trong trình duyệt bằng encodeURIComponent và decodeURIComponent của JavaScript; không có gì bạn gõ rời thiết bị của bạn.

Mã hóa URL quan trọng bất cứ khi nào bạn xây dựng tham số truy vấn, URI chuyển hướng hoặc liên kết chuẩn theo chương trình. Dấu cách trở thành %20, dấu và %26, dấu thăng %23, v.v. Mã hóa cũng áp dụng cho tên miền quốc tế hóa và ký tự không phải ASCII trong các phân đoạn đường dẫn. Công cụ này cũng cung cấp chế độ encodeURI để mã hóa URI đầy đủ trong khi bảo toàn các ký tự cấu trúc như '/', '?' và '#'.

Cách sử dụng Mã hóa / Giải mã URL, từng bước

  1. Dán văn bản bạn muốn mã hóa hoặc giải mã vào khu vực nhập.
  2. Chọn 'Mã hóa' để mã hóa phần trăm văn bản, hoặc 'Giải mã' để đảo ngược mã hóa.
  3. Chọn chế độ 'encodeURIComponent' cho giá trị tham số truy vấn, hoặc chế độ 'encodeURI' cho URI đầy đủ.
  4. Sao chép kết quả từ khu vực đầu ra.

Trường hợp sử dụng thường gặp

  • Lập trình viên xây dựng URL tìm kiếm chuyển hướng cần mã hóa phần trăm chuỗi truy vấn để các ký tự đặc biệt không phá vỡ cấu trúc URL.
  • Người tích hợp API nhận URL callback đã mã hóa phần trăm trong payload webhook và cần giải mã để xác minh địa chỉ đích.
  • Biên tập viên nội dung sao chép URL chứa ký tự có dấu từ trình duyệt và cần mã hóa để dùng trong liên kết Markdown.
  • Kỹ sư QA kiểm tra endpoint xác thực đầu vào bằng cách mã hóa các ký tự ranh giới như '<', '>' và '&' trước khi gửi chúng.

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

Sự khác biệt giữa encodeURIComponent và encodeURI là gì?

encodeURIComponent mã hóa mọi thứ ngoại trừ chữ cái, chữ số và các ký tự - _ . ! ~ * ' ( ). Nó dùng để mã hóa các thành phần riêng lẻ như giá trị tham số truy vấn. encodeURI để nguyên các ký tự URI cấu trúc (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) không mã hóa vì nó giả định đầu vào là URI đầy đủ. Dùng encodeURIComponent cho giá trị, encodeURI cho toàn bộ URL.

Văn bản tôi dán ở đây có được truyền đến máy chủ nào không?

Không. Mã hóa và giải mã gọi các hàm encodeURIComponent và decodeURIComponent tích hợp sẵn của JavaScript, chạy hoàn toàn trong engine JavaScript của trình duyệt. Không có gì bạn gõ ở đây được gửi đến bất kỳ đâu.

Tại sao dấu cách đôi khi trở thành '+' thay vì '%20'?

Ký hiệu '+' cho dấu cách đến từ định dạng application/x-www-form-urlencoded cũ hơn được dùng trong biểu mẫu HTML, khác với percent-encoding RFC 3986. Công cụ này sử dụng percent-encoding RFC 3986 nghiêm ngặt, vì vậy dấu cách trở thành %20. Nếu hệ thống đích của bạn mong đợi '+' cho dấu cách, bạn cần thay thế %20 bằng '+' thủ công sau khi mã hóa.

Tôi có thể mã hóa URL đầy đủ bao gồm chuỗi truy vấn của nó cùng một lúc không?

Có, sử dụng chế độ 'encodeURI'. Chế độ đó bảo toàn '/', '?', '=', '&', '#' và các ký tự cấu trúc URL khác trong khi mã hóa các ký tự không phải ASCII và ký tự dành riêng xuất hiện trong giá trị phân đoạn hoặc tham số. Chỉ dùng 'encodeURIComponent' cho các giá trị tham số riêng lẻ, không phải toàn bộ URL.

Công cụ có xử lý ký tự Unicode và emoji không?

Có. encodeURIComponent của JavaScript trước tiên chuyển đổi ký tự sang chuỗi byte UTF-8, rồi mã hóa phần trăm mỗi byte. Một emoji như 'ngón cái lên' mã hóa thành chuỗi nhiều byte như %F0%9F%91%8D. Giải mã đảo ngược quá trình chính xác.