将字符串转换为C#Unicode字符文本序列

将字符串转换为C#Unicode字符文本序列,c#,string,unicode,char,literals,C#,String,Unicode,Char,Literals,我正在寻找一种将字符串转换为C#中的Unicode字符文本序列的方法 例如: 输入:嗨 输出:\u0048\u0069\u0021如果您的意思是希望以字符串形式输出,则可以迭代所有字符以获取其Unicode十六进制值: const string value = "Hi!"; var chars = value .Select(c => (int) c) .Select(c => $@"\u{c:x4}"); var result = string.Concat(c

我正在寻找一种将字符串转换为C#中的Unicode字符文本序列的方法

例如:

输入:嗨


输出:\u0048\u0069\u0021

如果您的意思是希望以字符串形式输出,则可以迭代所有字符以获取其Unicode十六进制值:

const string value = "Hi!";

var chars = value
    .Select(c => (int) c)
    .Select(c => $@"\u{c:x4}");

var result = string.Concat(chars);

请参阅,以获得一个有效的演示。

以下是使用StringBuilder实现的相同方法

StringBuilder sb = new StringBuilder();
foreach (char c in s)
    sb.AppendFormat("\\u{0:X4}",(uint)c);
return sb.ToString();