Mã hóa URL

Dán văn bản bên dưới và nhấp Mã hóa để mã hóa phần trăm cho việc sử dụng trong URL. Mọi xử lý đều diễn ra cục bộ trong trình duyệt của bạn.

Đã sao chép!

URL Encoding là gì?

Mã hóa URL (percent-encoding) thay thế các ký tự không an toàn trong URL bằng dấu % theo sau bởi hai chữ số thập lục phân. Ví dụ, dấu cách trở thành %20& trở thành %26.

Chế độ Tiêu chuẩn mã hóa tất cả ký tự đặc biệt - sử dụng khi mã hóa một giá trị đơn lẻ (ví dụ: truy vấn tìm kiếm). Chế độ URL đầy đủ giữ nguyên các ký tự cấu trúc URL như :, /, ?, # - sử dụng khi mã hóa toàn bộ URL.

Ba chế độ chỉ khác nhau ở chỗ chúng để yên những ký tự nào. Mã hoá một giá trị đơn lẻ không chừa lại ký tự dành riêng nào, nên dấu gạch chéo bên trong sẽ thành %2F chứ không phải dấu phân tách đường dẫn. Mã hoá cả một URL thì giữ lại những dấu phân tách làm nên URL đó. Mã hoá biểu mẫu đi theo đúng thứ trình duyệt gửi cho một biểu mẫu HTML, ở đó dấu cách trở thành dấu cộng. Bạn cũng chọn được bộ ký tự, điều này quan trọng vì các hệ thống cũ mã hoá phần trăm những byte không phải UTF-8.

Bạn đang gỡ lỗi thứ gì đó không chịu giải mã?

Một payload không chịu giải mã thường là triệu chứng chứ không phải lỗi gốc: mã hoá hai lần ở đâu đó trong đường ống, bộ ký tự được đoán thay vì được khai báo, một token ký trên những byte không hẳn là byte mà ai đó trông đợi. Chúng tôi làm đúng loại việc này, trên các tích hợp, API và những hệ thống chuyền dữ liệu qua lại.

Cho chúng tôi biết chỗ nào đang hỏng

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

Mã hoá URL là gì?
Mã hoá URL, còn gọi là mã hoá phần trăm, thay một ký tự bằng dấu phần trăm cùng giá trị thập lục phân của từng byte trong nó. URL chỉ chở được một tập ký tự nhỏ, nên mọi thứ khác, từ dấu cách đến emoji, đều phải đi ở dạng này.
Nên mã hoá một giá trị hay cả URL?
Hãy mã hoá một giá trị khi bạn đặt văn bản vào chuỗi truy vấn, một đoạn đường dẫn hay một phân mảnh, vì dấu gạch chéo hoặc dấu và bên trong sẽ làm vỡ URL. Chỉ mã hoá cả URL khi bạn đã có một URL hợp lệ và muốn giữ những dấu phân tách tạo nên cấu trúc của nó.
Vì sao dấu cách đôi khi thành dấu cộng?
Vì dữ liệu biểu mẫu theo quy tắc x-www-form-urlencoded, vốn viết dấu cách thành dấu cộng. Mọi phần khác của URL viết là %20. Bộ phân tích biểu mẫu đọc lại cả hai thành dấu cách, nhưng chỉ %20 mới an toàn trong đường dẫn.
Có khi nào cần bộ ký tự khác UTF-8 không?
Hiếm, nhưng vẫn có. Các ứng dụng cũ mã hoá byte của Windows-1252, ISO-8859-1 hay Shift_JIS, nên một giá trị dựng cho những hệ đó sẽ đến nơi vô nghĩa nếu bạn mặc định là UTF-8. Hãy chọn bộ ký tự mà phía bên kia thực sự dùng.
Có gì được gửi lên máy chủ của các bạn không?
Không. Cả trang chạy trong trình duyệt bằng các API web tiêu chuẩn, nên văn bản của bạn không bao giờ rời khỏi thẻ. Nhờ vậy nó an toàn với token, URL nội bộ và mọi thứ bạn không muốn dán vào một dịch vụ từ xa.