2

JavaScript を使用して Cookie に値を設定し、コード ビハインドで Cookie の内容を取得しています。

しかし、問題は、特殊文字または空白文字を含む文字列を保存している場合、Cookie の内容を取得するときに、特殊記号が同等の ASCII に変換されることです。

たとえばAdam - (SET)、 cookie に保存したい場合、それは変換されAdam%20-%20%28SET%29て保存され、それを取得するときに同じAdam%20-%20%28SET%29. しかし、私はこれAdam - (SET)をコードビハインドで取得したいと思っています。

どうやってこれを手に入れますか。助けてください。

4

4 に答える 4

1

C#

使用する:

String decoded = HttpUtility.UrlDecode(EncodedString);

HttpUtility.UrlDecode()は、.NET Framwework で使用できる他の代替手段のほとんどで使用される基本的な関数です (以下を参照)。

必要に応じて、エンコーディングを指定することもできます。

または:

String decoded = Uri.UnescapeDataString(s);

いくつかの注意事項については、 Uri.UnescapeDataString()のドキュメントを参照してください。

JavaScript

var decoded = decodeURIComponent(s);

unescape他の質問で推奨されている使用に飛びつく前に、 decodeURIComponent と unescape の違いを読んでください。. また、decodeURIComponent と decodeURI の違いは何ですか?もお読みください。.

于 2012-07-12T08:09:56.850 に答える
0

あなたが探しているのはHttpUtility.UrlDecode()(System.Web名前空間で、私は思う)

于 2012-07-12T08:11:41.017 に答える
0

unescapeJSの関数を使用してそれを行うことができます。

var str = unescape('Adam%20-%20%28SET%29');
于 2012-07-12T08:09:25.673 に答える