在 c# [UWP] 中将 '\ud835' 格式转换为 ""

Convert from '\ud835' format to "" in c# [UWP]

我有一个包含一些奇怪字符的字符串(例如)" "。我需要检查 List 是否包含字符串中的第一项。但是如果我索引它,它总是变成 \ud835。在使用 Char.ConvertFromUtf32(\ud835) 和其他一些尝试之后,我根本找不到如何将第一项作为 "".

用 UTF-16 中的代理项对表示,UTF-16 是 .NET 使用的编码。

代理两个个字符表示:

        var s = " ";
        Console.WriteLine(new string(new[] { s[0], s[1] }) == "");

有内置的辅助方法,例如 Char.ConvertToUtf32 and Char.IsSurrogate,您可以使用它们来确定您是否处于这种情况。