Công cụ mã hóa URL

Percent-encode văn bản cho URL: encodeURIComponent, RFC 3986 nghiêm ngặt, toàn bộ URL (encodeURI) hoặc dữ liệu biểu mẫu với + cho dấu cách. Đúng UTF-8, chạy cục bộ.

42 ký tự · 47 byte (UTF-8)

0 ký tự · 0 byte (UTF-8)

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Mã hóa URL là gì?

Chuyển văn bản sang percent-encoding để dùng an toàn trong URL. Các ký tự ngoài tập cho phép được mã hóa theo byte UTF-8 của chúng, mỗi byte viết thành %XX. Bốn chế độ tương ứng với các bộ mã hóa mà lập trình viên thực sự dùng.

Cách sử dụng Mã hóa URL

  1. Gõ hoặc dán văn bản vào ô Đầu vào.
  2. Chọn Chế độ mã hóa: Thành phần cho giá trị query hoặc đoạn đường dẫn, RFC 3986 nghiêm ngặt, Toàn bộ URL để giữ : / ? & =, hoặc Dữ liệu biểu mẫu cho application/x-www-form-urlencoded.
  3. Sao chép chuỗi đã mã hóa từ ô Đầu ra.

Ví dụ

Đầu vào
a b&c=é
Đầu ra
a%20b%26c%3D%C3%A9

Chế độ Thành phần. Chế độ Biểu mẫu cho ra a+b%26c%3D%C3%A9.

Khi nào nên dùng Mã hóa URL

Dùng chế độ Thành phần cho từng giá trị tham số – đừng bao giờ mã hóa cả URL bằng nó, vì /, ? và & cũng sẽ bị mã hóa. Chỉ dùng chế độ Toàn bộ URL cho URL đã có cấu trúc đúng. Việc gửi biểu mẫu HTML và nhiều framework phía máy chủ mong đợi chế độ Biểu mẫu.

Mã hóa URL hoạt động như thế nào

Văn bản được chuyển thành byte UTF-8. Byte thuộc tập an toàn của chế độ đã chọn được giữ nguyên; mọi byte khác thành % theo sau là hai chữ số hex viết hoa. Chế độ Thành phần giữ A–Z a–z 0–9 - _ . ! ~ * ' ( ) (giống encodeURIComponent của JavaScript); chế độ RFC 3986 chỉ giữ A–Z a–z 0–9 - . _ ~; Toàn bộ URL giữ thêm ; , / ? : @ & = + $ # (giống encodeURI); chế độ Biểu mẫu giữ A–Z a–z 0–9 * - . _ và viết dấu cách thành + (giống URLSearchParams).

Các Trường Hợp Sử Dụng Phổ Biến

  • Mã hóa từ khóa tìm kiếm hoặc URL chuyển hướng làm tham số query
  • Tạo chuỗi cơ sở cho chữ ký OAuth hoặc API (chế độ RFC 3986)
  • Chuẩn bị phần thân biểu mẫu cho curl -d
  • Mã hóa đường dẫn không phải ASCII như slug tiếng Việt hoặc tiếng Trung

Câu Hỏi Thường Gặp

Dấu cách nên là %20 hay +?

%20 hợp lệ ở mọi vị trí trong URL. + chỉ có nghĩa là dấu cách trong query string mã hóa kiểu biểu mẫu; hãy chọn chế độ Dữ liệu biểu mẫu cho trường hợp đó.

encodeURI và encodeURIComponent khác nhau thế nào?

encodeURI giữ các ký tự tạo nên cấu trúc URL (: / ? # & =), còn encodeURIComponent mã hóa chúng để giá trị không thể phá vỡ cấu trúc URL.

Vì sao é lại thành hai mã?

URL dùng UTF-8: é là hai byte C3 A9, mỗi byte được viết thành %XX.

Khám phá thêm danh mục