Так что у меня проблемы с кодировкой символов.Когда я помещаю следующие два символа в текстовый файл в кодировке UTF32:
?
鸕
, а затем запускаю на них этот код:
System.IO.StreamReader streamReader =
new System.IO.StreamReader("input", System.Text.Encoding.UTF32, false);
System.IO.StreamWriter streamWriter =
new System.IO.StreamWriter("output", false, System.Text.Encoding.UTF32);
streamWriter.Write(streamReader.ReadToEnd());
streamWriter.Close();
streamReader.Close();
Я получаю:
鸕
鸕
(один и тот же символ дважды, то есть входной файл! = Вывод)
Несколько вещей, которые могут помочь: Шестнадцатеричное значение для первого символа:
15 9E 02 00
И для второго:
15 9E 00 00
Я использую Gedit для создания текстового файла, моно для C #, и я использую Ubuntu.
Это такжене имеет значения, если я указываю кодировку для входного или выходного файла, просто не нравится, если он находится в кодировке UTF32.Работает, если входной файл в кодировке UTF-8.
Входной файл выглядит следующим образом:
FF FE 00 00 15 9E 02 00 0A 00 00 00 15 9E 00 00 0A 0000 00
Это ошибка, или это только у меня?
Спасибо!