我正在寻找一种方法将字符串转换为C#中的Unicode字符文字序列。
示例:
输入:嗨!
输出:\ u0048 \ u0069 \ u0021
答案 0 :(得分:6)
如果您的意思是希望输出为字符串,则可以遍历所有字符获取其Unicode十六进制值:
const string value = "Hi!";
var chars = value
.Select(c => (int) c)
.Select(c => $@"\u{c:x4}");
var result = string.Concat(chars);
有关正常工作的演示,请参阅this fiddle。
答案 1 :(得分:3)
这是使用StringBuilder实现的相同方法。
StringBuilder sb = new StringBuilder();
foreach (char c in s)
sb.AppendFormat("\\u{0:X4}",(uint)c);
return sb.ToString();