0

C#:ウェブページのソースコードからの文字列があります:

<script type="text/javascript">
var itemsLocalDeals = [{"category":"HEALTHCARE SERVICES",
"dealPermaLink":"/deals/aachen/NLP-Deutschlandde
5510969","dealPrice":"399,00 \u20ac",..........

その文字列を使用して、 dealPriceを抽出し、それをList <>に追加するなどの操作を行います(文字列全体で複数のdealPriceがあります)。

すべての「 \u20ac」を実際の文字(「€」)にデコードする方法はありますか?他の文字もあるので、€-文字だけでなくデコードする必要があります。

コードをデバッグしてローカルフィールド/変数を確認すると、文字列には「€」文字ではなく、エスケープされたシーケンス「\\u20ac」が含まれています。

myString.DecodeUnicodeToRealCharactersのようなもの。

結果を(UTF-8)result.txtに書き込んでいます

どうもありがとう!

PS:残念ながら.Net2.0のみ...

4

3 に答える 3

3

使用できますRegex.Unescape("\u20ac");

ただし、文字列はjson文字列(で始まる[{"category":"HEALTHCARE SERVICES",.....)のように見えるため、jsonパーサーを使用することをお勧めします

于 2012-05-04T16:04:57.580 に答える
1
public string DecodeUnicodeToRealCharacters(string s)
{
    return Encoding.Unicode.GetString(Encoding.Unicode.GetBytes(s));
}
于 2012-05-04T16:08:14.960 に答える
0

テキストを書くために使用しているコードを見せていただけますか?これは問題なく動作します:

string str = "\u20ac";
using (StreamWriter sw = new StreamWriter(@"C:\trythis.txt", false, Encoding.UTF8)){
    sw.Write(str);
}
于 2012-05-04T16:07:43.220 に答える