将字符串转换为 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();
我正在寻找一种在 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();