我正在以文字形式从 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 会返回什么
关于c# - 如何将其中包含 Unicode 文字字符的字符串转换为 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55929735/