可能是重复问题:
将Unicode字符串转换为转义的ASCII字符串
我该如何将ä...
转换为类似\u0131...
的形式?
是否有函数可以实现这一点?
附言:
除了这种方式:[抱歉@Kendall Frey :-)]
char a = 'ä';
string escape = "\\u" + ((int)a).ToString("X").PadLeft(4, '0');
可能是重复问题:
将Unicode字符串转换为转义的ASCII字符串
我该如何将ä...
转换为类似\u0131...
的形式?
是否有函数可以实现这一点?
附言:
除了这种方式:[抱歉@Kendall Frey :-)]
char a = 'ä';
string escape = "\\u" + ((int)a).ToString("X").PadLeft(4, '0');
这里有一个将字符转换为转义序列的函数:
string GetEscapeSequence(char c)
{
return "\\u" + ((int)c).ToString("X4");
}
这句话简单明了,不需要改。
据我所知,没有内置函数。
ToString("X4")
并删除 PadLeft
即可解决问题。 - Jon Bvar s = "ä"; s = new string(s.SelectMany(c => (int)c > 127 ? ("\\u" + ((int)c).ToString("X4")).ToArray() : new char[] { c }).ToArray());
- Jon Bstring EscapeSequence(char c) => $@"\u{(int)c:X4}";
- Robert Synoradzki据我所知,目前没有内置的函数可以实现此功能。以下是一种相当愚蠢但有效的解决方案。不过Kendall Frey提供了更好的方式。
string GetUnicodeString(string s)
{
StringBuilder sb = new StringBuilder();
foreach (char c in s)
{
sb.Append("\\u");
sb.Append(String.Format("{0:x4}", (int)c));
}
return sb.ToString();
}
string.isNullOrEmpty
代码可以复制粘贴,我的问题是关于像string.isNullOrEmpty
这样的现成代码。 - Royi Namir