3

我正在从返回 html 友好的 ascii 代码而不是文本的 web 服务中读取数据。我正在尝试将其再次转换为 WinRT 应用程序的字符串,但我似乎找不到合适的解码器。

例如:

'应该等于一个撇号。

我已经尝试过 htmldecode 和 urldecode,但它们不是我需要的。另外,我不知道我会得到什么,所以我不想硬编码任何字符。

谢谢你的帮助!

4

3 回答 3

14

参考 System.Web 和使用:

 HttpUtility.HtmlDecode("htmlcode");
于 2012-07-29T15:55:29.810 回答
1

好的,所以我有这段处理数字实体的代码。

 Regex r = new Regex("&#[^;]+;");
 str = r.Replace(str, delegate(Match match)
 {
     string value = match.Value.ToString().Replace("&#", "").Replace(";", "");
     int asciiCode;
     if (int.TryParse(value, out asciiCode))
     {
         return Convert.ToChar(asciiCode).ToString();
     }
     else
     {
         return value;
     }                 
 });
于 2012-07-29T16:06:23.100 回答
0

如果您说HttpUtility.HtmlDecode()不能满足您的需要,您可能必须编写正则表达式或其他比较来循环遍历您的字符串,匹配HTML 代码表中 HTML 编号或 HTML 名称列中的值,以便您可以转换它到相应的符号。

于 2012-07-29T15:53:12.840 回答