Bộ mã hóa và giải mã URL
Chuyển đổi văn bản sang dạng mã hóa an toàn cho URL (mã hóa theo phần trăm) và ngược lại. Hữu ích cho chuỗi truy vấn, chuyển hướng và luồng OAuth.
Mã hóa URL là gì và khi nào bạn cần nó?
Mã hóa URL (còn gọi là 'mã hóa theo phần trăm', được quy định trong RFC 3986) là quá trình chuyển đổi các ký tự có ý nghĩa đặc biệt trong URL —hoặc các ký tự vốn không an toàn trong URL— thành một chuỗi thoát thập lục phân '%XX'. Đặc tả URL dành riêng một số ký tự có ý nghĩa cấu trúc: '?' bắt đầu chuỗi truy vấn, '#' bắt đầu fragment, '&' phân tách các tham số truy vấn, '/' phân tách các đoạn đường dẫn, v.v. Nếu đầu vào của người dùng chứa bất kỳ ký tự nào trong số đó và bạn nhúng nó nguyên trạng vào một URL, trình phân tích cú pháp sẽ hiểu sai. Mã hóa URL ngăn chặn điều này bằng cách thay thế mỗi ký tự dành riêng hoặc không an toàn bằng biểu diễn thập lục phân theo byte của nó với tiền tố '%'. Một dấu cách trở thành %20, '&' trở thành %26, '=' trở thành %3D. Các ký tự không phải ASCII (chữ Cyrillic, chữ Hán, emoji) được chuyển thành các chuỗi UTF-8 nhiều byte, với mỗi byte được mã hóa theo phần trăm. Trình duyệt xử lý việc này tự động khi bạn nhấp vào một liên kết, nhưng bất cứ khi nào bạn dựng một URL bằng mã —khi tạo một truy vấn tìm kiếm, một đích đến chuyển hướng, một lệnh gọi lại OAuth hoặc một chữ ký webhook— bạn phải mã hóa trước các giá trị do người dùng cung cấp. Công cụ này dùng chính các hàm encodeURIComponent / decodeURIComponent mà mã JavaScript của bạn sẽ dùng, nên hành vi khớp chính xác với môi trường production.
Các trường hợp sử dụng phổ biến
Mã hóa từ khóa tìm kiếm của người dùng trước khi nối vào một URL tìm kiếm (?q=user+input).
Truyền tham số OAuth redirect_uri một cách an toàn đến máy chủ ủy quyền.
Tạo các URL webhook bao gồm payload JSON đã mã hóa trong query string.
Mã hóa một URL 'returnTo' để nó còn nguyên khi được truyền qua các URL khác.
Giải mã các giá trị đã mã hóa bạn thấy trên thanh địa chỉ trình duyệt sau khi gửi biểu mẫu.
Kiểm tra cách một URL sai định dạng được phân tích — mã hóa một ký tự đặc biệt và xem điều gì xảy ra.
Câu hỏi thường gặp
Khi nào tôi nên mã hóa một URL?▼
Sự khác biệt giữa encodeURI và encodeURIComponent là gì?▼
Base64 an toàn cho URL so với mã hóa URL là gì?▼
Tại sao đôi khi '+' được giải mã thành dấu cách?▼
Các ký tự không phải ASCII được mã hóa như thế nào?▼
Mã hóa URL có giống với mã hóa thực thể HTML không?▼
Công cụ liên quan
Bộ giải mã JWT
Giải mã JSON Web Tokens (JWT) ngay lập tức. Chạy trong trình duyệt của bạn: các token không bao giờ rời khỏi thiết bị, an toàn để dùng với các bí mật của môi trường production.
Trình định dạng và kiểm tra JSON
Định dạng, kiểm tra và thu gọn JSON trực tuyến. Hoạt động hoàn toàn trong trình duyệt của bạn: dữ liệu của bạn không bao giờ rời khỏi thiết bị.
Trình định dạng XML
Định dạng và làm đẹp các tài liệu XML. Hữu ích cho SOAP, sitemap, feed RSS và tệp cấu hình.
Bộ mã hóa và giải mã Base64
Mã hóa các chuỗi sang Base64 hoặc giải mã Base64 thành văn bản. Tôn trọng quyền riêng tư của bạn: chạy ngay trong trình duyệt.
Bộ mã hóa và giải mã thực thể HTML
Chuyển đổi các ký tự đặc biệt thành thực thể HTML (&, <, v.v.) và ngược lại. Hữu ích để nhúng văn bản vào HTML một cách an toàn.
Trình nén CSS
Loại bỏ các chú thích, khoảng trắng và ký tự không cần thiết khỏi CSS để giảm kích thước tệp.