iso-8859-2を使用する代わりに、コードページwindows-1251を使用して、ファイルから文字列「ńîôč˙」を読み取りました。キリル文字の文字列である必要があります。C#で次のことを行う関数を実装する方法:
string res = Recover("ńîôč˙");
string Recover(string input)
{
???
}
ここで、resは、最初にファイルを読み取るときに適切なページを使用した場合に得られるキリル文字列です。
iso-8859-2を使用する代わりに、コードページwindows-1251を使用して、ファイルから文字列「ńîôč˙」を読み取りました。キリル文字の文字列である必要があります。C#で次のことを行う関数を実装する方法:
string res = Recover("ńîôč˙");
string Recover(string input)
{
???
}
ここで、resは、最初にファイルを読み取るときに適切なページを使用した場合に得られるキリル文字列です。
私の頭の上から..
string Recover(string input)
{
return Encoding.GetEncoding("iso-8859-2").GetString(Encoding.GetEncoding(1251).GetBytes(input));
}
System.Text.Encoding
クラスのメソッドを使用できます。
using System.Text;
using System;
class EncodingConverter
{
static string ConvertEncoding(string input,
Encoding srcEncoding,
Encoding targetEncoding)
{
byte[] buffer = srcEncoding.GetBytes(input);
return targetEncoding.GetString(buffer);
}
static void Main(string[] args)
{
string input = args[0];
string converted = ConvertEncoding(input,
Encoding.GetEncoding("windows-1250"),
Encoding.GetEncoding("iso-8859-2"));
Console.WriteLine(converted);
}
}