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 ”解码为它们的真实字符(“€”)?还有其他字符,因此不仅需要解码 €-Character。

当我调试我的代码并查看本地字段/变量时,字符串不包含“€”字符,而是转义序列“\\u20ac”。

像 myString.DecodeUnicodeToRealCharacters 这样的东西。

我正在将结果写入 (UTF-8)result.txt

非常感谢!

PS:不幸的是.Net 2.0只有......

4

3 回答 3

3

您可以使用Regex.Unescape("\u20ac");

但最好使用 json 解析器,因为您的字符串似乎是 json 字符串(以 开头[{"category":"HEALTHCARE SERVICES",.....

于 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 回答