&
là một thực thể HTML và được sử dụng khi văn bản được mã hóa vào HTML bởi vì bạn phải "chạy trốn" các &
mà có một ý nghĩa đặc biệt trong HTML. Rõ ràng, cơ chế thoát này đã được sử dụng trên URL có lẽ vì nó được sử dụng trong một số HTML ví dụ trong một liên kết. Tôi không chắc chắn lý do tại sao bạn muốn giải mã nó vì trình duyệt sẽ thực hiện giải mã thích hợp khi liên kết được nhấp vào. Nhưng dù sao, để trở lại nó, bạn có thể sử dụng HttpUtility.HtmlDecode
trong không gian tên System.Web
:
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
Giá trị của decoded
là:
http://www.someurl.com/profile.php?mode=register&agreed=true
Một hình thức mã hóa/giải mã sử dụng là mã hóa URL. Điều này được sử dụng để có thể bao gồm các ký tự đặc biệt trong các phần của URL. Ví dụ: các ký tự /
, ?
và &
có ý nghĩa đặc biệt trong URL. Nếu bạn cần bao gồm bất kỳ ký tự nào trong số này trong thông báo truy vấn, bạn sẽ phải mã hóa URL tham số để không làm hỏng URL. Dưới đây là một ví dụ về một URL nơi thoát URL đã được sử dụng:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
Công ty tên Barnes & Noble
được mã hóa như Barnes+%26+Noble
. Nếu &
chưa được thoát khỏi URL sẽ không chứa một nhưng hai thông số truy vấn vì &
được sử dụng làm dấu phân tách giữa các tham số truy vấn.
Nguồn
2011-06-29 10:49:24
Mã hóa URL hoàn toàn khác với mã hóa HTML, vì điều này được đánh dấu là trùng lặp. Được gắn cờ để mở lại. – Deestan