【发布时间】:2011-09-14 22:28:40
【问题描述】:
如何转换这个词
妈妈
这个词
妈妈\U00E1
【问题讨论】:
-
这不是“转换”,而是转义。
-
决定转义哪个字符的规则是什么?我的意思是,为什么不把他们都逃走呢?
标签: c# unicode character-encoding ascii
如何转换这个词
妈妈
这个词
妈妈\U00E1
【问题讨论】:
标签: c# unicode character-encoding ascii
您正在寻找类似于以下代码的内容。
StringBuilder sb = new StringBuilder();
string word = "mamá";
foreach (char c in word)
{
if (' ' <= c && c <= '~')
{
sb.Append(c);
}
else
{
sb.AppendFormat("\\U{0:X4}", (int)c);
}
}
string escapedWord = sb.ToString();
或者以更紧凑的方式:
Func<char, string> escapeIfNecessary = c => (' ' <= c && c <= '~') ? c.ToString() : string.Format("\\U{0:X4}", (int)c);
escapedWord = string.Join("", word.Select(escapeIfNecessary).ToArray());
【讨论】: