c# - 如何用 Unicode 转换特殊字符?

标签 c# .net

<分区>

如何转换带有特殊字符的字符串,如下所示:
małoletni => ma\u0142oletni
其中 ł 转换为 \u0142(与其他特殊字符相同)。

我试过

System.Text.UnicodeEncoding 编码 = new System.Text.UnicodeEncoding();

但它返回奇怪的结果。

如何转换?

最佳答案

var str = "małoletni\nPi(π)";

//ESCAPE
var escaped = String.Join("", str.Select(c => c>31 && c < 128 ? c.ToString() : "\\u" + ((int)c).ToString("x4")));

//UNESCAPE
var unescaped = Regex.Unescape(escaped)

关于c# - 如何用 Unicode 转换特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18356518/

相关文章:

c# - 保持控件在窗体中的大小和位置

c# - .NET 中类型的定义

c# - 如何仅在需要时才在 .NET WebBrowser 控件上显示垂直滚动条?

c# - sitecore 插入项目数据完整性

c# - 无法加载文件或程序集 'xxx.dll' 或其依赖项之一。指定的模块无法找到

c# - 如何允许用户编辑 Program Files 下的 App.config 是记事本或其他编辑器?

.net - 如何使用 .Net 4 进行 WCF 非 HTTP 激活?

.net - 如何在没有代码的情况下将 XML 绑定(bind)到 TreeView(MVVM,来自 XAML 的 dataContext)

c# - 如何按名称获取实体的子属性

c# - 是否可以(以编程方式)证明两个 LINQ 查询相等?