Chuyển đến nội dung
SPCXTools

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

Mã hóa văn bản cho URL (percent-encode) hoặc giải mã URL và chuỗi truy vấn đã mã hóa về lại văn bản dễ đọc.

Chạy cục bộ — tệp không bao giờ rời khỏi thiết bị của bạn

Đang tải công cụ…

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

  1. 1Chọn Encode để tạo văn bản an toàn cho URL, hoặc Decode để chuyển các chuỗi dạng %20 về lại văn bản.
  2. 2Chọn Component cho một giá trị tham số hoặc đoạn đường dẫn, hoặc Full URL để giữ nguyên các ký tự như /, ? và &.
  3. 3Chọn Spaces as + khi làm việc với dữ liệu form HTML (application/x-www-form-urlencoded).
  4. 4Dán văn bản của bạn — kết quả sẽ xuất hiện ngay lập tức. Ở chế độ giải mã, các tham số truy vấn được liệt kê trong một bảng.
  5. 5Sao chép kết quả chỉ với một cú nhấp chuột.

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

URL chỉ có thể chứa một số ký tự nhất định. Khoảng trắng, chữ cái có dấu, emoji và các ký hiệu như &, = hoặc # phải được mã hóa phần trăm — viết dưới dạng % theo sau là hai chữ số thập lục phân — trước khi xuất hiện trong URL. Công cụ này giúp chuyển đổi văn bản sang định dạng đó và ngược lại. Quá trình xử lý diễn ra ngay trên trình duyệt, do đó các URL bạn dán, bao gồm cả token hay dữ liệu cá nhân, sẽ không bao giờ bị gửi lên máy chủ.

Tính năng

  • Hai phạm vi mã hóa: mã hóa một giá trị duy nhất (thành phần) hoặc toàn bộ URL mà vẫn giữ nguyên cấu trúc.
  • Mã hóa kiểu biểu mẫu: tùy chọn chuyển khoảng trắng thành + và giải mã + ngược lại thành khoảng trắng.
  • Hỗ trợ UTF-8 cho mọi ngôn ngữ và emoji.
  • Trình xem chuỗi truy vấn (query string): khi giải mã URL, mỗi tham số sẽ hiển thị dưới dạng cặp khóa/giá trị, giúp bạn dễ dàng đọc các link tracking dài và API call.
  • Kết quả tức thì với tính năng sao chép bằng một click, cùng nút chuyển đổi chế độ giúp đưa nhanh kết quả trở lại ô nhập liệu để thao tác hai chiều.

Khi nào cần mã hóa URL

Tạo API request. Nếu từ khóa tìm kiếm hoặc giá trị lọc chứa khoảng trắng hoặc ký tự đặc biệt, nó phải được mã hóa trước khi đưa vào query string. Nếu không, các ký tự & hoặc = bên trong giá trị sẽ bị hiểu nhầm là phần bắt đầu của một tham số mới.

Đọc link tracking và redirect. Các link marketing và chuyển hướng đăng nhập thường chứa một URL hoàn chỉnh được mã hóa bên trong một URL khác. Hãy giải mã để xem link thực sự trỏ đến đâu và chứa những tham số nào.

Debug web form. Khi submit form, các trường dữ liệu được mã hóa thành các cặp key=value nối với nhau bằng &, và khoảng trắng được đổi thành +. Giải mã raw body sẽ cho bạn thấy chính xác những gì đã được gửi đi.

Chia sẻ link chứa ký tự không phải tiếng Anh. Trình duyệt hiển thị https://example.com/東京 rất đẹp mắt, nhưng request thực tế lại sử dụng %E6%9D%B1%E4%BA%AC. Việc mã hóa sẽ cho thấy định dạng chính xác mà server nhận được.

Ký tự dành riêng và không dành riêng

Chuẩn RFC 3986 định nghĩa ký tự không dành riêng (không bao giờ cần mã hóa) gồm: chữ cái, chữ số, -, ., _ và ~. Ký tự dành riêng — : / ? # [ ] @ ! $ & ' ( ) * + , ; = — có ý nghĩa đặc biệt trong URL và bắt buộc phải mã hóa nếu chúng nằm trong một giá trị. Mọi ký tự khác, bao gồm khoảng trắng và tất cả ký tự non-ASCII, luôn phải được mã hóa.

Mã hóa URL khác với Base64. Nếu bạn cần truyền dữ liệu nhị phân hoặc muốn một định dạng rút gọn chỉ gồm chữ cái, hãy dùng công cụ mã hóa Base64 — ở chế độ Base64URL, kết quả tạo ra hoàn toàn an toàn để đưa trực tiếp vào URL.

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

Chế độ Component và Full URL khác nhau như thế nào?
Component mã hóa mọi ký tự có ý nghĩa đặc biệt trong URL, bao gồm / ? & = #. Hãy dùng chế độ này cho các giá trị truy vấn riêng lẻ. Full URL giữ nguyên các ký tự cấu trúc đó và chỉ mã hóa những ký tự không hợp lệ, chẳng hạn như khoảng trắng và chữ cái không thuộc bảng mã ASCII, để toàn bộ URL vẫn có thể sử dụng được.
Tại sao khoảng trắng đôi khi là %20 và đôi khi là +?
Trong đường dẫn và hầu hết các API hiện đại, khoảng trắng được mã hóa thành %20. Các biểu mẫu HTML được gửi với loại nội dung mặc định sẽ mã hóa khoảng trắng thành + trong chuỗi truy vấn. Cả hai đều phổ biến; hãy chọn Khoảng trắng là + để khớp với kiểu mã hóa của biểu mẫu.
Tại sao tôi gặp lỗi khi giải mã?
Giải mã bị lỗi khi theo sau % không phải là hai chữ số thập lục phân, hoặc khi các byte không tạo thành chuẩn UTF-8 hợp lệ. Điều này thường xảy ra nếu văn bản chỉ được mã hóa một phần hoặc bị mã hóa hai lần. Hãy kiểm tra xem có dấu % nào bị thừa không.
Các ký tự không phải tiếng Anh được mã hóa như thế nào?
Đầu tiên chúng được chuyển đổi thành các byte UTF-8, và mỗi byte sẽ trở thành %XX. Ví dụ: "é" trở thành %C3%A9 và "東" trở thành %E6%9D%B1.
Dữ liệu của tôi có bị gửi đi đâu không?
Không. Quá trình mã hóa và giải mã sử dụng các hàm tích hợp sẵn của trình duyệt và chạy hoàn toàn trên thiết bị của bạn.