我想将“123”之类的字符串转换为“\u0031\u0032\u0033”之类的字符串。 我如何在 .NET 中执行此操作? 例如:反向转换:
Encoding enc = Encoding.GetEncoding("us-ascii",
new EncoderExceptionFallback(),
new DecoderExceptionFallback());
byte[] by = enc.GetBytes(s);
string ans = enc.GetString(by);
return ans;
最佳答案
.NET 中的字符串已经是 Unicode,因此无需将它们从 Unicode 转换为 Unicode。
如果你想输出一个 unicode 转义字符串,那么试试这个:
string ans = string.Concat(s.Select(c => string.Format("\\u{0:x4}", (int)c)).ToArray());
结果:
\u0031\u0032\u0033
在线查看它:ideone
在 .NET 4.0 中,您可以省略对 ToArray
的调用。
关于c# - 在 C# 中将字符串转换为 us-ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8103970/