gpt4 book ai didi

c# - C# 中的西里尔编码

转载 作者:太空狗 更新时间:2023-10-29 17:35:05 26 4
gpt4 key购买 nike

我在 MSSQL 数据库中有一堆类似西里尔文的文本,需要在 C# 中将其转换为西里尔文。

所以... Ðàáîòà ãåðìàíèè

应该变成

Работа в германии

有什么建议吗?

我应该补充一点,我得到的最接近的是 ?aaioa aa?iaiee

这是我使用的代码:

 str = Encoding.UTF8.GetString(Encoding.GetEncoding("Windows-1251").GetBytes(drCurrent["myfield"].ToString()));
str = Encoding.GetEncoding(1251).GetString(Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), Encoding.UTF8.GetBytes(str)));

最佳答案

// To find out source and target
const string source = "Ðàáîòà â ãåðìàíèè";
const string destination = "Работа в германии";

foreach (var sourceEncoding in Encoding.GetEncodings())
{

var bytes = sourceEncoding.GetEncoding().GetBytes(source);
foreach (var targetEncoding in Encoding.GetEncodings())
{
if (targetEncoding.GetEncoding().GetString(bytes) == destination)
{
Console.WriteLine("Source Encoding: {0} TargetEncoding: {1}",sourceEncoding.CodePage,targetEncoding.CodePage);
}

}
}

// Result1: Source Encoding: 1252 TargetEncoding: 1251
// Result2: Source Encoding: 28591 TargetEncoding: 1251
// Result3: Source Encoding: 28605 TargetEncoding: 1251

// The code for you to use
var decodedCyrillic = Encoding.GetEncoding(1251).GetString(Encoding.GetEncoding(1252).GetBytes(source));
// Result: Работа в германии

关于c# - C# 中的西里尔编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com