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

convert a string to a sequence of C# Unicode character literals

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

例如:

输入:

Hi!

输出:

\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);

有关工作演示,请参阅 this fiddle

这是使用 StringBuilder 实现的相同方法。

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