c# - 如何将其中包含 Unicode 文字字符的字符串转换为 Unicode 字符串

标签 c# unicode

我正在以文字形式从 API(通过 C# 代码)接收数据。其中一些数据包含非 ASCII 字符。一个示例如下所示:

string universityName = "Universidad de M\u00e1laga";

我会将此数据插入到 SQL Server 数据库中,并希望插入 Unicode 编码版本,而不是文字版本。为此,我需要在插入之前对字符串进行正确编码。它应该看起来像:

Universidad de Málaga

我查看了 Stack Overflow,但似乎找不到相关问题,所以我想问一下。是否有一个内置的 C# 库允许我给它原始字符串并让它返回所需的字符串?如果没有,是否有我应该遵循的流程?

我已经尝试使用 Encoding.Unicode.GetBytes 获取字符串的字节,然后将其转换回字符串,但它似乎对我不起作用。我也可能用错了。

最佳答案

有多种方法可以做到这一点,但这可能适合您。

免责声明:假设您的字符串在您的数据库中看起来像这样,Universidad de M\u00e1laga/p>

var test1 = "Universidad de M\\u00e1laga";  
var test2 = Regex.Unescape(test1);
Console.WriteLine(test1);
Console.WriteLine(test2);

输出

Universidad de M\u00e1laga
Universidad de Málaga

注意:这可能指向整个情况的整体结构或设计问题。不过,谁知道 API 会返回什么

Full demo here

关于c# - 如何将其中包含 Unicode 文字字符的字符串转换为 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55929735/

相关文章:

c# - 谷歌地图处理服务器端

c# - 如何在不必声明泛型类型的情况下使用具有泛型的类

objective-c - 如何处理 NSString 中的 32 位 unicode 字符

python - Python-打印时呈现unicode代码

python - 如何使用python在unicode中转换像,"a³ a¡ a´a§"这样的字符?

java - 将符号、重音字母转换为英文字母

c# - 使用 ASP.net 执行 INSERT 命令

c# - 如何在 Windows Phone 8 中将 Firebase REST Streaming 与 Hammock 结合使用?

c# - 从 System.Text.Json 反序列化 NodaTime Instant

python - python 中的 u' ' 前缀和 unicode() 有什么区别?