20

可能重复:
将 Unicode 字符串转换为转义的 ascii 字符串

我怎样才能转换ä...成类似的东西 \u0131...

有什么功能可以做到这一点吗?

ps:

除此之外:[对不起@Kendall Frey :-)]

char a = 'ä';
string escape = "\\u" + ((int)a).ToString("X").PadLeft(4, '0');
4

2 回答 2

28

这是一个将 char 转换为转义序列的函数:

string GetEscapeSequence(char c)
{
    return "\\u" + ((int)c).ToString("X4");
}

它不会比单线更好。

不,据我所知,没有内置功能。

于 2012-11-08T14:57:51.937 回答
8

没有内置函数 AFAIK。这是一个非常愚蠢的解决方案。但是 Kendall Frey 提供了更好的变体。

string GetUnicodeString(string s)
{
    StringBuilder sb = new StringBuilder();
    foreach (char c in s)
    {
        sb.Append("\\u");
        sb.Append(String.Format("{0:x4}", (int)c));
    }
    return sb.ToString();
}
于 2012-11-08T15:04:42.667 回答