Ошибка Encoding.GetEncoding (437) .GetString ()?

У меня есть следующая тестовая программа

char c = '§';
Debug.WriteLine("c: " + (int)c);

byte b = Encoding.GetEncoding(437).GetBytes("§")[0];
Debug.WriteLine("b: " + b);

char c1 = Encoding.GetEncoding(437).GetString(new byte[] { 21 })[0];
Debug.WriteLine("c1: " + (int)c1);

Это дает следующий результат:

c: 167
b: 21
c1: 21

Как я вижу здесь GetBytes работает правильно
167 в юникоде => 21 в CP437
но GetString не работает
21 в CP437 => 21 в юникоде

Это ошибка или моя ошибка?

8
задан SeeR 8 August 2011 в 15:05
поделиться