繁体   English   中英

在C#中将字符串从字符串转换为us-ascii

[英]Convert from string to us-ascii in c#

我想将字符串“ 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的调用。

string ans = Regex.Replace(s, ".", m => String.Format(@"\u{0:x4}", (int)m.Value[0]));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM