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

标签 c# encoding ascii

我想将“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/

相关文章:

php - Laravel 与 ioncube 和编码

python - TypeError : a bytes-like object is required, 不是 'str' - hmac

c# - 压缩文件夹后所有 zip 条目更改编码

c# - 将 Ninject v2 与 Asp.net Webforms 集成时出现问题

c# - Google Apps 脚本执行 API 服务授权每小时失败一次

c# - Multi-Tenancy 身份服务器 4

c - 如何读取键盘上的每个键?

c# - 使用 X509 证书通过 Azure AD 对应用程序进行身份验证

Android:在 Canvas 上绘制 ASCII 箭头

将 libcurl 中的 HTML 与文件中的文本进行比较