c# - 字符串到 Ansicode 表示

标签 c# .net

我需要将西里尔字符保存在 MSSQL 的 varchar 字段中。 为此,我需要将字符串转换为字节的 ansi 表示形式。

例如,如果我将 Notepad++ 中的编码从西里尔语更改为 ANSI,则字符串将从 русский язык 更改为 ðóññêèé ÿçûê。 我找不到在 C# 中执行此操作的方法,encoding.getbytes 是正确的方法吗?

最佳答案

看看this answer .

如果您确定该列中的字符串始终cryillic,那么您可以使用一种编码将字符串转换为字节数组,然后使用不同的编码将字节数组转换回字符串编码。我尝试了以下方法,似乎有效:

var s = "ðóññêèé ÿçûê";
var b = Encoding.GetEncoding(1252).GetBytes(s);
var fixedString = Encoding.GetEncoding(1251).GetString(b);
Console.WriteLine(fixedString); // русский язык

关于c# - 字符串到 Ansicode 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30767883/

相关文章:

.net - 无法使用 azure Eventhub 在架构注册表中创建架构

c# - 为什么性能指标有所不同?

c# - 在表达式中插入节点/属性

c# - 接口(interface)成员中定义的可空引用类型在实现中不需要为可空的原因是什么?

c# - 单元测试公共(public)签名的 .NET Core/框架库

c# - 如何使用 C# 唯一标识计算机?

c# - Excel 互操作加载 XLL 和 DLL

c# - 调用方法并等待返回值

c# - 使程序集 COM-Visible 中断 Excel VSTO 插件的构建

c# - List 和 IList 的区别