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

问题描述 投票:4回答:2

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

例:

输入:嗨!

输出:\ u0048 \ u0069 \ u0021

c# string unicode char literals
2个回答
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


3
投票

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

StringBuilder sb = new StringBuilder();
foreach (char c in s)
    sb.AppendFormat("\\u{0:X4}",(uint)c);
return sb.ToString();
© www.soinside.com 2019 - 2024. All rights reserved.