Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将html友好的ascii代码转换为c#中的字符串?_C#_.net_Xaml_Ascii_Windows Runtime - Fatal编程技术网

如何将html友好的ascii代码转换为c#中的字符串?

如何将html友好的ascii代码转换为c#中的字符串?,c#,.net,xaml,ascii,windows-runtime,C#,.net,Xaml,Ascii,Windows Runtime,我正在从一个返回html友好ascii码而不是文本的Web服务读取数据。我正在尝试将它再次转换为WinRT应用程序的字符串,但似乎找不到正确的解码器 例如: '应等于撇号 我已经尝试过htmldecode和urldecode,但它们不是我需要的。另外,我不知道我会得到什么,所以我不想硬编码任何字符 谢谢你的帮助 如果您说HttpUtility.HtmlDecode()不能满足您的需要,您可能需要编写一个正则表达式或其他比较来循环字符串,匹配中HTML编号或HTML名称列的值,以便将其转换为

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

例如:

'应等于撇号

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


谢谢你的帮助

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

参考System.Web并使用:

 HttpUtility.HtmlDecode("htmlcode");

好的,我有一些处理数字实体的代码

 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;
     }                 
 });

您是只获取数字实体,还是还获取命名实体(例如,
,等等)?如果您不熟悉HTML实体,请在此提供更多信息:“它们不是我需要的”是什么意思?预期的输出是什么,您实际得到的输出是什么?“它们不是我需要的”表示它们不工作。它们只转换和&lgt;类型数据。但不是ascii码。它们返回的内容与输入的内容完全相同@JoeWhite我也会得到命名实体。我不确定,我可能需要手动处理这些问题。我将发布我拥有的用于数字实体的代码。啊!虚惊一场。谢谢你的帮助。我必须运行HTMLDE代码两次!很明显,它在被发送之前被编码了两次。是的,这就成功了。传入的数据实际上被编码了两次,我不得不运行htmldecode两次。谢谢你的帮助。这是我的错,没有花更多的时间检查传入的数据。它被编码了两次,所以我必须解码两次。