1

iso-8859-2を使用する代わりに、コードページwindows-1251を使用して、ファイルから文字列「ńîôč˙」を読み取りました。キリル文字の文字列である必要があります。C#で次のことを行う関数を実装する方法:

string res = Recover("ńîôč˙");

string Recover(string input)
{
    ???
}

ここで、resは、最初にファイルを読み取るときに適切なページを使用した場合に得られるキリル文字列です。

4

2 に答える 2

5

私の頭の上から..

string Recover(string input)
{
   return Encoding.GetEncoding("iso-8859-2").GetString(Encoding.GetEncoding(1251).GetBytes(input));
}
于 2010-10-22T11:27:13.757 に答える
4

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);
    }
}
于 2010-10-22T11:29:04.160 に答える