如何将一系列unicode字符转换为可读文本?

时间:2014-08-11 23:54:47

标签: c# unicode ascii

以下是一个示例输入:"\\u0434\\u0430\\u043C\\u043E",我希望将其转换为可读文本。如果它仍然可以有重音字符,我将不胜感激。输入实际上可能比这长,但这可以用作样本。

是的,我看到了(http://www.joelonsoftware.com/articles/Unicode.html)和(How to print/store non-ASCII characters (unicode?)),但它没有回答我的问题,所以请不要将此标记为重复。我很期待在C#中获取示例代码。 我也尝试了HttpUtility.HtmlDecode()但它实际上并没有解码它。 这是代码:

//this is coming from service call and its comming just like this.
var str="\\u0434\\u0430\\u043C\\u043E"; 
var decoded = HttpUtility.HtmlDecode(str); // this doesn't work. Its returning the string str as is.

作为旁注:以下内容将起作用。但我的意见并不是那种形状。

//Although my input isn't in the following form, the following works. But my input isn't in this form.
var str2="\u0434\u0430\u043C\u043E";
var decoded = HttpUtility.HtmlDecode(str2);

如何正确解码字符串,如"" \ u0434 \ u0430 \ u043C \ u043E"可读的文字。

1 个答案:

答案 0 :(得分:0)

我终于明白了:

我通过使用Regex.Unscape()方法实现了它。如果其他人遇到同样的问题,以下是解决问题的方法:

  var str = "\\u0434\\u0430\\u043C\\u043E";
  var decoded = HttpUtility.HtmlDecode(Regex.Unescape(str)); //take a look the Regex.Unscape() call.