nicetool.dev logo

URL MÃ HÓA

Mã hóa hoặc giải mã chuỗi an toàn để sử dụng trong URL.

Chuỗi đầu vào
Kết quả

URL Encoding là gì?

URL Encoding (còn gọi là percent-encoding) là cơ chế mã hóa dữ liệu trong URI nhằm đảm bảo chỉ sử dụng các ký tự ASCII hợp lệ.

Vì sao cần mã hóa URL?

URL chỉ hỗ trợ tập ký tự ASCII. Các ký tự đặc biệt hoặc không phải ASCII phải được mã hóa để tránh lỗi khi truyền qua Internet.

  • / Dùng để phân tách các phần đường dẫn.
  • ? Phân tách path và query string.
  • # Xác định fragment của URL.
  • & Phân tách các tham số trong query.
  • Khoảng trắng không hợp lệ trong URL, thường được mã hóa thành '+' hoặc '%20'.

Cách hoạt động

URL Encoding thay thế các ký tự đặc biệt bằng dấu '%' kèm theo mã hex hai chữ số đại diện cho ký tự ASCII.

Chuỗi 'hello world' sẽ trở thành 'hello%20world'

Cách dùng công cụ Mã hóa / Giải mã URL

  1. 1

    Chọn Encode để chuyển văn bản sang dạng an toàn cho URL, hoặc Decode để đổi chuỗi đã mã hóa như %20 về ký tự đọc được.

  2. 2

    Dán một URL đầy đủ, giá trị tham số hoặc bất kỳ đoạn văn bản nào vào ô nhập.

  3. 3

    Kết quả hiện ngay. Khoảng trắng thành %20, chữ có dấu thành các byte UTF-8 (ví dụ "á" thành %C3%A1) và ký tự đặc biệt như & và = được mã hóa.

  4. 4

    Sao chép kết quả để dùng trong link, request API, chuyển hướng hay tham số theo dõi. Đổi chế độ để kiểm tra chiều ngược lại.

Ví dụ thực tế

Giá trị tham số truy vấn

Từ khóa "cà phê & trà" phải gửi dạng q=c%C3%A0%20ph%C3%AA%20%26%20tr%C3%A0, nếu không dấu & sẽ mở ra một tham số mới và máy chủ chỉ nhận được một phần.

Đọc link theo dõi

Link quảng cáo và link chuyển hướng thường chứa một URL đã mã hóa bên trong URL khác. Giải mã giúp biết đích thật trước khi bấm.

URL tiếng Việt

Đường dẫn có dấu được trình duyệt lưu dưới dạng mã hóa phần trăm. Giải mã https://example.com/s%C3%A1ch sẽ ra đường dẫn dễ đọc "/sách".

OAuth và redirect URI

Tham số redirect_uri phải được mã hóa đầy đủ. Mã hóa ở đây giúp tránh lỗi "redirect_uri mismatch" do dấu ? hay / lọt vào.

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

URL encoding là gì?+

Còn gọi là mã hóa phần trăm (RFC 3986), nó thay các ký tự không được phép hoặc có ý nghĩa đặc biệt trong URL bằng dấu % kèm hai chữ số thập lục phân cho mỗi byte.

Khoảng trắng nên là %20 hay +?+

%20 hợp lệ ở mọi vị trí trong URL. Dấu + chỉ mang nghĩa khoảng trắng trong dữ liệu form (application/x-www-form-urlencoded), nên %20 là lựa chọn an toàn hơn.

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

encodeURI giữ lại các ký tự tạo cấu trúc URL như / ? & và =, dùng cho cả URL. encodeURIComponent mã hóa cả những ký tự đó, dùng cho một giá trị tham số.

Vì sao giải mã bị lỗi?+

Chuỗi có dấu % không đi kèm hai chữ số hex hợp lệ, hoặc chuỗi byte không phải UTF-8 hợp lệ. Hãy kiểm tra xem chuỗi có bị cắt hoặc bị mã hóa hai lần không.