将字符串转换为unicode表示

Roy*_*mir 17 .net c# string

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

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

这样做有什么功能吗?

ps:

在这旁边:[对不起@Kendall Frey :-)]

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

Ken*_*rey 26

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

string GetEscapeSequence(char c)
{
    return "\\u" + ((int)c).ToString("X4");
}
Run Code Online (Sandbox Code Playgroud)

它不会比单线更好.

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

  • 我怀疑有一种方法可以让格式字符串中的左边填充正确,而不是调用PadLeft ... (2认同)
  • @JonSkeet更好? (2认同)
  • 美好的。但我首先想到了:P (2认同)

Chr*_*ruS 7

没有内置功能AFAIK.这是一个非常愚蠢的解决方案.但肯德尔弗雷提供了更好的变体.

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();
}
Run Code Online (Sandbox Code Playgroud)