ĐÓNG QUẢNG CÁO

Mã hóa/Giải mã URL

Mã hóa/Giải mã URL

Hỗ trợ mã hóa và giải mã phần trăm URL, xử lý ký tự đặc biệt, khoảng trắng và văn bản đa ngôn ngữ. Tự động phát hiện định dạng mã hóa, hỗ trợ xử lý tham số truy vấn, phù hợp cho gọi API, gửi biểu mẫu và chia sẻ liên kết.

Hướng dẫn sử dụng

🚀 Bắt đầu nhanh

  • Nhập nội dung bên trên (URL, văn bản, CJK, v.v.)
  • Nhấn Encode hoặc Decode để chọn chế độ.
  • Nhấn nút để bắt đầu; kết quả sẽ xuất hiện trong cùng textarea.
  • Dùng nút sao chép bên dưới để copy.

📌 Tình huống sử dụng phổ biến

  • Tham số API: encode tham số query và nội dung request để truyền đúng ký tự đặc biệt.
  • Form submit: xử lý dữ liệu GET/POST; hỗ trợ CJK và ký hiệu đặc biệt.
  • Chia sẻ liên kết: tạo URL chứa CJK/ký tự đặc biệt mà không bị lỗi font.
  • Chuỗi tìm kiếm: encode từ khóa, đặc biệt khi có & = # ?.

🧭 Gợi ý sử dụng

  • Tránh encode hai lần: kiểm tra xem nội dung đã chứa chuỗi %XX hay chưa.
  • Encode từng phần: chỉ encode giá trị tham số (ví dụ ?key=encoded), giữ nguyên cấu trúc URL.
  • Debug: giải mã tham số trong request mạng để nhanh chóng tìm lỗi.
  • Ký tự dành riêng: : / ? # [ ] @ ! $ & ' ( ) * + , ; = có ý nghĩa đặc biệt; khi dùng làm dữ liệu thường cần encode (tùy ngữ cảnh, đặc biệt là : / ? # & = +).
  • Mã hóa ký tự: ký tự non‑ASCII được encode theo UTF‑8 thành 1–4 byte, mỗi byte ghi dưới dạng %HH.

⚠️ Giới hạn & khả năng tương thích

  • URL encoding ≠ encryption: chỉ là biến đổi định dạng đảo ngược được, không bảo vệ dữ liệu nhạy cảm.
  • Độ dài URL: khuyến nghị tổng độ dài < 2048 ký tự (tùy trình duyệt/server).
  • Khác biệt khoảng trắng: trong query, khoảng trắng có thể là + (form encoding) hoặc %20 (chung); công cụ dùng %20 mặc định.
  • Văn bản rất dài: có thể làm trình duyệt chậm hoặc treo; hãy xử lý theo từng phần.

🔒 Quyền riêng tư & bảo mật

  • Toàn bộ xử lý diễn ra trong trình duyệt; dữ liệu của bạn không rời khỏi thiết bị.
  • Dữ liệu nhạy cảm (mật khẩu, key, token) cần được mã hóa (encryption), không chỉ encode.

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

URL là gì? Vì sao cần 'mã hóa' URL?

URL (Uniform Resource Locator) do Tim Berners‑Lee giới thiệu thập niên 1990 cho Web, dùng chuỗi dễ đọc để mô tả scheme/host/path/query/fragment. Để tránh việc ký tự dữ liệu bị hiểu nhầm là dấu phân cách (ví dụ ? & # = /) và để xử lý khoảng trắng, ký tự non‑ASCII, emoji…, URL sẽ chuyển các ký tự đó sang dạng percent‑encoding %HH (ví dụ space→%20, “/” trong giá trị tham số→%2F). Trong ngữ cảnh application/x‑www‑form‑urlencoded, khoảng trắng còn có thể được ghi là “+” (ngoài form, nên dùng %20). URL encoding là bước định dạng đảo ngược được nhằm giữ liên kết bền vững; nó không cung cấp mã hóa hay bảo mật thông tin.

Encode có bảo vệ được thông tin nhạy cảm không?

Không. Encode chỉ là chuyển đổi định dạng có thể đảo ngược. Mật khẩu, API key và bí mật khác phải được mã hóa (encryption).

Vì sao khoảng trắng đôi khi là +, đôi khi là %20?

Form (application/x-www-form-urlencoded) dùng +, còn RFC 3986 nói chung dùng %20. Công cụ này mặc định dùng %20 cho tính tương thích; nếu cần +, hãy dùng trong bối cảnh form hoặc tự thay thế.

Làm sao biết nội dung đã được encode sẵn?

Nội dung đã encode chứa nhiều chuỗi %XX (% theo sau là hai chữ số hex, ví dụ %E4%BD%A0). Nếu bạn thấy nhiều chuỗi như vậy thì nội dung đã được encode; không nên encode lần nữa.

Vì sao ký tự non‑ASCII phải encode?

Chuẩn URL chỉ cho phép ASCII. Văn bản non‑ASCII (ví dụ chữ có dấu, emoji) phải được percent‑encode (byte UTF‑8 dạng %HH) để truyền an toàn.

Dấu gạch chéo / có cần encode không?

Tùy vị trí: khi là dấu phân cách path thì không encode (ví dụ /api/users). Khi xuất hiện trong giá trị tham số, nên encode thành %2F (ví dụ ?path=%2Fhome%2Fuser).