Điều này không chỉ áp dụng cho ký hiệu và trong URL, mà cho tất cả các ký tự dành riêng . Một số trong đó bao gồm:
# $ & + , / : ; = ? @ [ ]
Ý tưởng giống như mã hóa một &
tài liệu HTML, nhưng bối cảnh đã thay đổi thành trong URI, ngoài việc nằm trong tài liệu HTML. Vì vậy, mã hóa phần trăm ngăn chặn các vấn đề với phân tích cú pháp bên trong cả hai bối cảnh.
Nơi mà điều này có ích rất nhiều là khi bạn cần đặt một URL bên trong một URL khác. Ví dụ: nếu bạn muốn đăng trạng thái trên Twitter:
http://www.twitter.com/intent/tweet?status=What%27s%20up%2C%20StackOverflow%3F(http%3A%2F%2Fwww.stackoverflow.com)
Có rất nhiều ký tự dành riêng trong Tweet của tôi, cụ thể là ?'():/
, vì vậy tôi đã mã hóa toàn bộ giá trị của status
tham số URL. Điều này cũng hữu ích khi sử dụng mailto:
các liên kết có nội dung hoặc chủ đề thư, bởi vì bạn cần mã hóa body
và subject
các tham số để giữ ngắt dòng, ký hiệu, v.v.
Khi một ký tự từ tập hợp dành riêng ("ký tự dành riêng") có ý nghĩa đặc biệt ("mục đích dành riêng") trong một ngữ cảnh nhất định và lược đồ URI nói rằng cần phải sử dụng ký tự đó cho mục đích khác, sau đó là ký tự phải được mã hóa phần trăm. Mã hóa phần trăm một ký tự dành riêng liên quan đến việc chuyển đổi ký tự thành giá trị byte tương ứng của nó trong ASCII và sau đó biểu thị giá trị đó dưới dạng một cặp chữ số thập lục phân. Các chữ số, đứng trước dấu phần trăm ("%") được sử dụng làm ký tự thoát, sau đó được sử dụng trong URI thay cho ký tự dành riêng. (Đối với ký tự không phải ASCII, nó thường được chuyển đổi thành chuỗi byte của nó trong UTF-8, và sau đó mỗi giá trị byte được biểu thị như trên.) Ví dụ, ký tự dành riêng "/", nếu được sử dụng trong "đường dẫn" thành phần của một URI, có ý nghĩa đặc biệt là một dấu phân cách giữa các đoạn đường dẫn. Nếu, theo sơ đồ URI nhất định, "/" cần nằm trong một đoạn đường dẫn, thì phải sử dụng ba ký tự "% 2F" hoặc "% 2f" trong phân đoạn thay vì "/" thô.
http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_char character