Chuyển đến nội dung

%20 · %C3%A9 · encodeURIComponent

Trình mã hóa và giải mã URL

Mã hóa URL thay các ký tự không an toàn bằng % và hai chữ số hex: dấu cách thành %20 và é thành %C3%A9. Chọn mã hóa, giải mã hoặc phân tích, rồi nhập hoặc dán văn bản của bạn.

Mọi thứ chạy ngay trong thẻ này và không có gì được tải lên. Văn bản không phải ASCII được chuyển sang UTF-8 trước khi thoát ký tự.

Scanned by NortonTM Safe Web

Tóm tắt nhanh

Giá
Không mất phí
Tài khoản
Không cần
Chuẩn
RFC 3986 (URI), WHATWG URL Standard
Chế độ
Mã hóa, giải mã và phân tích
Bộ ký tự
UTF-8
Tải lên
Không — văn bản ở lại trong thẻ trình duyệt của bạn

Percent-encoding của các ký tự thường gặp

Mỗi ô đều do trình mã hóa và giải mã trên trang này tạo ra. Ký hiệu ␣ đại diện cho một dấu cách.

Mã hóa một ký tự đơn
Ký tựencodeURIComponentencodeURIBiểu mẫu (+ cho dấu cách)
␣%20%20+
!!!%21
"%22%22%22
#%23#%23
$%24$%24
%%25%25%25
&%26&%26
'''%27
(((%28
)))%29
****
+%2B+%2B
,%2C,%2C
/%2F/%2F
:%3A:%3A
;%3B;%3B
=%3D=%3D
?%3F?%3F
@%40@%40
[%5B%5B%5B
]%5D%5D%5D
~~~%7E
é%C3%A9%C3%A9%C3%A9
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80
Giải mã một chuỗi thoát đơn
Chuỗi thoátdecodeURIComponentdecodeURIBiểu mẫu
%2F/%2F/
%3F?%3F?
%23#%23#
%20␣␣␣
%2B+%2B+
%41AAA

Cách mã hóa hoặc giải mã URL

1

Chọn chế độ

Chọn Mã hóa để thoát ký tự cho văn bản, Giải mã để đọc văn bản đã thoát, hoặc Phân tích để tách cả URL thành giao thức, máy chủ, đường dẫn, truy vấn và đoạn.

2

Chọn phương pháp

Với một giá trị, chẳng hạn một tham số truy vấn, hãy dùng phương pháp thành phần. Với một địa chỉ hoàn chỉnh, dùng phương pháp cả URL. Dùng phương pháp biểu mẫu cho dữ liệu do biểu mẫu HTML gửi.

3

Dán và sao chép

Nhập hoặc dán văn bản. Kết quả cập nhật khi bạn gõ và có nút Sao chép. Một chuỗi % bị lỗi sẽ được báo kèm vị trí.

Percent-encoding hoạt động thế nào

Percent-encoding (RFC 3986) ghi một byte thành % theo sau là hai chữ số thập lục phân. Văn bản được chuyển sang UTF-8 trước, nên é là 2 byte (%C3%A9), € là 3 byte (%E2%82%AC) và 😀 là 4 byte (%F0%9F%98%80). Chữ cái, chữ số và - _ . ~ không bao giờ cần mã hóa. Các ký tự dành riêng như / ? # & = + và : có vai trò trong URL, nên có mã hóa chúng hay không tùy văn bản được đặt ở đâu.

encodeURIComponent dùng cho một phần của URL, chẳng hạn một giá trị truy vấn: nó mã hóa / ? # & = + và :. encodeURI dùng cho cả URL: nó để yên các ký tự đó để địa chỉ giữ nguyên cấu trúc. Mã hóa biểu mẫu (application/x-www-form-urlencoded) ghi dấu cách thành + thay vì %20 và cũng mã hóa ~ và ! ' ( ). Khi giải mã, một dấu % không có hai chữ số hex theo sau sẽ bị từ chối và được báo vị trí.

Câu hỏi về mã hóa URL

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

encodeURIComponent mã hóa mọi thứ trừ chữ cái, chữ số và - _ . ! ~ * ' ( ), nên nó cũng mã hóa / ? # & = + và :. encodeURI giữ các ký tự đó để cả URL vẫn dùng được. Dùng phương pháp thành phần cho một giá trị, như a/b thành a%2Fb, và encodeURI cho một địa chỉ đầy đủ.

Vì sao dấu cách là %20 ở chỗ này và + ở chỗ khác?

%20 là cách percent-encoding của dấu cách và hợp lệ ở mọi nơi trong URL. Dấu + cho dấu cách chỉ thuộc về mã hóa biểu mẫu (application/x-www-form-urlencoded), định dạng của chuỗi truy vấn do biểu mẫu HTML gửi. Một dấu cộng thật là %2B ở cả hai.

Làm sao để mã hóa ký tự Unicode trong URL?

Chuyển văn bản sang UTF-8, rồi ghi mỗi byte thành %XX. é cho ra %C3%A9, € cho ra %E2%82%AC và 😀 cho ra %F0%9F%98%80. Trang này làm việc đó ở mọi phương pháp mã hóa.

Những ký tự nào bắt buộc phải mã hóa trong URL?

Dấu cách, dấu nháy kép, < và > cùng mọi ký tự không phải ASCII luôn được mã hóa. Chữ cái, chữ số và - _ . ~ thì không bao giờ. Các ký tự dành riêng như ? và & chỉ được mã hóa khi chúng là dữ liệu chứ không phải một phần cấu trúc URL.

Vì sao khi giải mã lại báo chuỗi percent không hợp lệ?

Sau một dấu % phải có hai chữ số thập lục phân. 100% bị lỗi vì không có gì theo sau %, ab%zz cũng vậy. Trang báo vị trí của dấu % sai. Các byte đã thoát không tạo thành UTF-8 hợp lệ, như %FF, cũng được báo.

Trang này có tách được URL thành từng phần không?

Có. Chế độ Phân tích dùng trình phân tích URL của trình duyệt để liệt kê giao thức, tên người dùng, máy chủ, cổng, đường dẫn, truy vấn và đoạn, đồng thời hiện từng tham số truy vấn với giá trị đã giải mã. Mật khẩu trong URL được báo là có mặt và không bao giờ được in ra.