Chuyển đến nội dung

Mã hóa và giải mã URL

Mã hóa hoặc giải mã phần trăm cho URL, giá trị truy vấn và dữ liệu biểu mẫu, an toàn với UTF-8, giải mã từng tham số truy vấn. Mọi thứ chạy ngay trên trình duyệt.

Bạn đang mã hóa gì?

encodeURIComponent: thoát mọi ký tự trừ chữ cái, chữ số và - _ . ! ~ * ' ( ). Dùng cho một giá trị tham số.

Mã hóa phần trăm
Kết quả hiện ở đây khi bạn nhập.
Chạy ngay trên trình duyệt · không cần tải lênCách hoạt động

Cách sử dụng Mã hóa / giải mã URL

  1. 1

    Chọn Mã hóa hoặc Giải mã

    Mã hóa biến dấu cách và ký tự đặc biệt thành %XX; Giải mã đưa %XX về văn bản dễ đọc.

  2. 2

    Chọn nội dung cần mã hóa

    Giá trị truy vấn cho một tham số, Toàn bộ URL cho một địa chỉ đầy đủ, hoặc Dữ liệu biểu mẫu khi dấu cách cần thành +.

  3. 3

    Dán văn bản hoặc liên kết

    Kết quả cập nhật ngay khi bạn gõ, và URL đầy đủ sẽ có bảng phân tích các phần và tham số.

  4. 4

    Sao chép kết quả

    Sao chép, lưu thành tệp, hoặc chọn Dùng kết quả làm đầu vào để kiểm tra chiều ngược lại.

Giới hạn và Pro

Miễn phí, không cần đăng ký và không giới hạn độ dài văn bản dán vào; kết quả dài hơn 600.000 ký tự chỉ hiển thị một phần, còn khi sao chép hoặc lưu thì đầy đủ.

Pro gỡ quảng cáo; trình chuyển đổi giống hệt nhau ở mọi gói. Xem Pro

Về Mã hóa / giải mã URL

URL chỉ được chứa một tập ký tự ASCII giới hạn, nên mọi thứ khác – dấu cách, chữ có dấu, emoji và các ký hiệu dành riêng được dùng làm dữ liệu – đều phải viết thành % kèm hai chữ số hex cho mỗi byte UTF-8. Trang này chuyển đổi theo cả hai chiều và cho bạn thấy chính xác phần nào đã thay đổi.

Ba chế độ tương ứng với ba nơi việc mã hóa thực sự diễn ra. Chế độ giá trị truy vấn hoạt động như encodeURIComponent của JavaScript, phù hợp cho một tham số, một đoạn đường dẫn hoặc đích chuyển hướng nhúng trong URL khác. Chế độ Toàn bộ URL hoạt động như encodeURI: giữ nguyên giao thức, dấu gạch chéo, dấu hỏi, dấu & và dấu bằng, chỉ thoát những gì làm hỏng địa chỉ. Chế độ dữ liệu biểu mẫu theo chuẩn application/x-www-form-urlencoded, trong đó dấu cách thành dấu cộng, như trong biểu mẫu HTML và URLSearchParams.

Dán một liên kết đầy đủ, bảng phân tích sẽ liệt kê Giao thức, Máy chủ, Cổng, Đường dẫn và Đoạn, cùng bảng mọi tham số truy vấn với giá trị đã giải mã – tiện để đọc liên kết theo dõi, callback OAuth và URL có chữ ký. Quá trình giải mã dừng ở dữ liệu sai định dạng và cho biết vị trí: dấu % lẻ không kèm hai chữ số hex, hoặc chuỗi byte không phải UTF-8 hợp lệ, thường do hệ thống cũ mã hóa văn bản theo Latin-1.

Mã hóa phần trăm không phải là mã hóa bảo mật và không làm URL ngắn đi; hãy dùng trình rút gọn liên kết cho việc đó. Chuyển đổi Base64 và thực thể HTML nằm ở hai tab còn lại.

Quyền riêng tư

URL và văn bản được mã hóa, giải mã ngay trong trang này, nên các liên kết chứa token, địa chỉ email hay ID phiên không bao giờ bị gửi đi đâu. Chế độ đã chọn được lưu trong bộ nhớ cục bộ cho lần sau; nội dung bạn dán thì không.

Mã hóa / giải mã URL: câu hỏi thường gặp

Nên dùng encodeURI hay encodeURIComponent?
Hãy dùng encodeURIComponent, tức chế độ Giá trị truy vấn ở đây, cho mọi thứ bạn chèn vào URL: từ khóa tìm kiếm, giá trị tham số hoặc URL chuyển hướng lồng nhau. Nó thoát & = ? / để không bị nhầm với cấu trúc. Chỉ dùng encodeURI, tức chế độ Toàn bộ URL, với địa chỉ đầy đủ đã đúng cấu trúc và chỉ cần xử lý dấu cách hoặc ký tự ngoài ASCII.
Vì sao dấu cách lúc là %20, lúc là +?
Mã hóa phần trăm theo chuẩn URL viết dấu cách là %20. Biểu mẫu HTML dùng định dạng cũ hơn, application/x-www-form-urlencoded, trong đó dấu cách thành + còn dấu cộng thật thành %2B. Cả hai đều phổ biến trong chuỗi truy vấn. Hãy chọn chế độ dữ liệu biểu mẫu khi giải mã giá trị do biểu mẫu gửi, nếu không dấu + vẫn giữ nguyên là dấu cộng.
“Không phải UTF-8 hợp lệ” khi giải mã nghĩa là gì?
URL hiện đại mã hóa mỗi ký tự thành các byte UTF-8, nên é là %C3%A9. Một số hệ thống cũ dùng Latin-1, trong đó é là một byte %E9, và chuỗi đó không phải UTF-8 hợp lệ. Lỗi sẽ cho biết vị trí. Hãy mã hóa lại nguồn bằng UTF-8, hoặc tự thay chuỗi Latin-1 nếu chỉ vài ký tự bị ảnh hưởng.
Tôi có xem được tham số của liên kết theo dõi dài không?
Có. Dán liên kết đầy đủ kèm tiền tố https:// và bảng phân tích sẽ hiện bên dưới kết quả. Bảng liệt kê máy chủ, đường dẫn, đoạn và từng tham số truy vấn với giá trị đã giải mã, kể cả khóa lặp lại, nên thẻ UTM, giá trị state của OAuth và URL chuyển hướng lồng nhau đều đọc được mà không cần giải mã từng cái.
Mã hóa URL hai lần có gây lỗi không?
Có, mã hóa kép là lỗi thường gặp: dấu % ở lượt đầu thành %25, nên %20 biến thành %2520 và máy chủ nhận sai giá trị. Nếu giải mã một lần mà vẫn còn chuỗi %XX thì văn bản đã bị mã hóa hai lần. Hãy bấm Dùng kết quả làm đầu vào rồi giải mã thêm lần nữa để lấy lại bản gốc.

Tác vụ khác với công cụ này