Lập trình

URL Encoder Decoder

Mã hóa và giải mã URL component cục bộ mà không gửi dữ liệu lên máy chủ.

Không gian URL component
Thanh địa chỉ trình duyệt, nơi các ký tự đặc biệt đổi thành mã phần trăm và ngược lại, nối bằng mũi tên hai chiều

Cách sử dụng

  1. Dán văn bản hoặc một phần URL vào ô Nhập URL component.
  2. Bấm Mã hóa để đổi khoảng trắng, chữ có dấu và ký hiệu thành mã phần trăm, hoặc Giải mã để đổi mã phần trăm về văn bản đọc được.
  3. Bấm Sao chép kết quả. Nếu đầu vào có mã phần trăm bị hỏng, công cụ sẽ báo lỗi thay vì đoán.

Mã hóa URL là gì

URL chỉ được chứa một số ký tự nhất định. Những ký tự khác như khoảng trắng, chữ có dấu tiếng Việt, emoji và các ký tự có ý nghĩa riêng trong URL (& = ? # /) được viết thành dấu % kèm hai chữ số thập lục phân cho mỗi byte UTF-8 của nó. Cách này gọi là percent-encoding.

Công cụ mã hóa một thành phần của URL, giống hàm encodeURIComponent của JavaScript: một giá trị query, một đoạn đường dẫn hay một tham số, không phải cả địa chỉ. Vì vậy nó mã hóa cả / ? & = #; để nguyên chúng trong một giá trị sẽ làm thay đổi ý nghĩa của URL.

Văn bảnĐã mã hóa
Hà NộiH%C3%A0%20N%E1%BB%99i
cà phê sữa đác%C3%A0%20ph%C3%AA%20s%E1%BB%AFa%20%C4%91%C3%A1
a/b?c=1#xa%2Fb%3Fc%3D1%23x
(khoảng trắng)%20

Giải mã đường dẫn tiếng Việt khó đọc

Khi sao chép link có tiếng Việt từ thanh địa chỉ, bạn thường nhận được chuỗi dài như %C4%91%C3%A1 thay vì chữ "đá". Dán chuỗi đó vào đây và bấm Giải mã để đọc lại nội dung, ví dụ để biết một link tìm kiếm hay link sản phẩm thực ra chứa từ khóa gì.

Nếu giá trị bị mã hóa hai lần (%2520 thay vì %20), hãy giải mã hai lần. Dấu % không theo sau bởi hai chữ số thập lục phân hợp lệ, như trong "giảm 50%", không thể giải mã và công cụ sẽ báo lỗi.

Dấu cộng và khoảng trắng

Khi gửi form HTML (application/x-www-form-urlencoded), khoảng trắng được gửi thành dấu +. Giải mã phần trăm giữ nguyên dấu +, nên a+b vẫn là a+b. Nếu bạn đang giải mã dữ liệu form, hãy đổi + thành khoảng trắng trước; khi tạo URL, hãy mã hóa dấu cộng thật thành %2B.

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

%20 trong URL nghĩa là gì?

Đó là khoảng trắng đã mã hóa. 20 là mã thập lục phân của ký tự khoảng trắng.

Có nên mã hóa cả URL không?

Không. Chỉ mã hóa từng giá trị bạn chèn vào URL, như từ khóa tìm kiếm hay tên file, còn https://, dấu / và ? & = tạo nên cấu trúc URL thì giữ nguyên.

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

Đầu vào có dấu % không theo sau bởi hai chữ số thập lục phân, hoặc một chuỗi nhiều byte bị cắt dở. Hãy kiểm tra link có bị cắt hay có dấu % thật trong văn bản không.

Dữ liệu của tôi có bị gửi đi không?

Không. Mã hóa và giải mã chạy trong trình duyệt, không có gì được tải lên.

Gặp lỗi hoặc có ý tưởng? Báo lỗi hoặc góp ý

Share

Bạn cũng có thể thích