&
は、HTMLのエンティティであり、あなたがHTMLで特別な意味を持っている&
を「エスケープ」する必要があるため、テキストをHTMLにエンコードされたときに使用されています。どうやら、このエスケープ・メカニズムはおそらくURLの中で使われていたと思われます。これはリンクのようなHTMLの中で使われているからです。リンクをクリックしたときにブラウザが適切なデコードを行うため、デコードする理由がわかりません。しかし、いずれにせよ、それを元に戻すためにあなたがSystem.Web
名前空間でHttpUtility.HtmlDecode
を使用することができます。
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
をdecoded
の値は次のとおりです。使用するエンコーディング/デコーディングの
http://www.someurl.com/profile.php?mode=register&agreed=true
別の形態は、URLエンコードです。これは、URLの一部に特殊文字を含めることができるようにするために使用されます。たとえば、文字「/
」、「?
」、および「&
」は、URL内で特別な意味を持ちます。これらの文字のいずれかをクエリパラメータに含める必要がある場合は、URLを壊さないようにURLエンコードする必要があります。ここでURLのエスケープが使用されているURLの例です:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
会社名Barnes & Noble
がBarnes+%26+Noble
としてエンコードされました。 &
がエスケープされていない場合、&
はクエリパラメータ間の区切り文字として使用されるため、URLには1つではなく2つのクエリパラメータが含まれていました。
URLエンコーディングは、HTMLエンコーディングとは完全に異なります。再開のためにフラグが立てられています。 – Deestan