我需要将西里尔字符保存在 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/