Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
C# 如何解码字符串中的Unicode字符_C# - Fatal编程技术网

C# 如何解码字符串中的Unicode字符

C# 如何解码字符串中的Unicode字符,c#,C#,如何在C#中解码这个字符串'Sch\u00f6nen'(@“Sch\u00f6nen”),我尝试了HttpUtility,但它没有给出我需要的结果,即“Schönen”。如果你因为看到“Sch\u00f6nen”(或类似的\uxxx字符串常量中的值)而遇到这个问题,它不是编码。这是一种将Unicode字符表示为转义序列的方法,类似于字符串通过\n表示新行和通过\r返回 我认为你不必解码 string unicodestring = "Sch\u00f6nen"; Console.WriteLin

如何在C#中解码这个字符串'Sch\u00f6nen'(
@“Sch\u00f6nen”
),我尝试了HttpUtility,但它没有给出我需要的结果,即“Schönen”。

如果你因为看到
“Sch\u00f6nen”
(或类似的
\uxxx
字符串常量中的值)而遇到这个问题,它不是编码。这是一种将Unicode字符表示为转义序列的方法,类似于字符串通过
\n
表示新行和通过
\r
返回

我认为你不必解码

string unicodestring = "Sch\u00f6nen";
Console.WriteLine(unicodestring);

Schönen被输出

如果您是因为看到
“Sch\u00f6nen”
(或类似的
\uxxx
字符串常量中的值)而遇到这个问题,那么它不是编码。这是一种将Unicode字符表示为转义序列的方法,类似于字符串通过
\n
表示新行和通过
\r
返回

我认为你不必解码

string unicodestring = "Sch\u00f6nen";
Console.WriteLine(unicodestring);

Schönen被输出

Regex.Unescape
成功地做到了:

System.Text.RegularExpressions.Regex.Unescape(@"Sch\u00f6nen");

请注意,在测试变体或编写单元测试时需要小心:
“Sch\u00f6nen”
已经是
“Schönen”
。您需要将字符串前面的
@
作为字符串的一部分处理
\u00f6

Regex.Unescape
完成了以下操作:

System.Text.RegularExpressions.Regex.Unescape(@"Sch\u00f6nen");

请注意,在测试变体或编写单元测试时需要小心:
“Sch\u00f6nen”
已经是
“Schönen”
。您需要在字符串前面添加
@
,才能将
\u00f6
视为字符串的一部分。

编写了一个将unicode字符串转换为实际字符的代码。(但本主题的最佳答案很好,而且不太复杂)


编写了一个将unicode字符串转换为实际字符的代码。(但本主题的最佳答案很好,而且不太复杂)


当我在windows phone emulator上输出它时,它显示为“Sch\u00f6nen”,所以需要转义它。回答了我的问题然后删除了他的帖子的用户得到了正确的答案,我不知道他为什么要删除它。我想你们两个误解了:)@findcaiyzh,如果你用
string unicodestring=“Sch\\u00f6nen”更新你的例子你会得到@M_K正在谈论的案例。使用从远程端点检索的JSON结果时,通常会出现这种情况。当我在windows phone emulator上输出它时,它显示为“Sch\u00f6nen”,因此需要转义。回答了我的问题然后删除了他的帖子的用户得到了正确的答案,我不知道他为什么要删除它。我想你们两个误解了:)@findcaiyzh,如果你用
string unicodestring=“Sch\\u00f6nen”更新你的例子你会得到@M_K正在谈论的案例。使用从远程端点检索的JSON结果时,通常会出现这种情况。您看过System.Text.Encoding类了吗?您可能可以使用编码来解码Unicode字符串内容。您是否查看过System.Text.encoding类?您可能可以使用编码对Unicode字符串内容进行解码我知道此注释很旧,但您已修复了在Unicode之前添加
@
注释的问题。非常感谢。我知道这条评论很旧,但您已经修复了我的问题,您的评论是在unicode之前添加
@
。非常感谢你。