0

txtファイルを書きたい。一部の文字は \'c1 のようにエスケープする必要があります。ここで、c1 は 1251 をエンコードした文字のコードです。

指定された char 変数を文字列に変換して、エンコーディングのコードを表すにはどうすればよいですか?

utf でこれを行う方法を見つけましたが、他の ecnoding では方法がありませんでした。utf バリアントには Char.ConvertToUtf32() メソッドがあります。

4

2 に答える 2

2
// get the encoding
Encoding encoding = Encoding.GetEncoding(1251);

// for each character you want to encode
byte b = encoding.GetBytes("" + c)[0];
string hex = b.ToString("x");
string output = @"\'" + hex;
于 2013-02-13T12:02:42.793 に答える
1

指定された char 変数を文字列に変換して、エンコーディングのコードを表すにはどうすればよいですか?

次のようなことを試してください:

    var enc = Encoding.GetEncoding("Windows-1251");

    char myCharacter = 'д'; // Cyrillic 'd'

    byte code = enc.GetBytes(new[] { myCharacter, })[0];

    Console.WriteLine(code.ToString());      // "228" (decimal)
    Console.WriteLine(code.ToString("X2"));  // "E4" (hex)
于 2013-02-13T12:00:15.863 に答える