Encoding.Unicode C#. Преобразование байтов в строку и обратно изменяет их первоначальный вид

337
02 июня 2017, 10:00
        var file = System.IO.File.ReadAllBytes(openFileDialog1.FileName);
        System.IO.File.WriteAllBytes(@"C:\1.txt", file);
        string a1 = Encoding.Unicode.GetString(file);
        byte[] a2 = Encoding.Unicode.GetBytes(a1);
        System.IO.File.WriteAllBytes(@"C:\2.txt", a2);

Содержимое файлов 1.txt и 2.txt получается различным. Каким образом можно закодировать байты в строку и раскодировать обратно не повредив их?

Answer 1

Нужно считывать строку в той кодировке, в которой записан текст в file.

READ ALSO
Избавиться от рекурсии

Избавиться от рекурсии

Нужно избавиться от рекурсии в данной функции с помощью стека\очередиЗапутался где именно и какие параметры нужно добавлять в очередь

328
Выделить слово в RichTextBox

Выделить слово в RichTextBox

Как двойным кликом по слову в RichTextBox выделить его и отобразить над ним Panel (панель изначально скрыта и должна появляться когда происходит...

278
Помогите разобраться. С#

Помогите разобраться. С#

Суть вопроса в том что если xstock_quantity = 5, а reserved = 1, результат равен 3

213
Как вызвать функцию Win Forms приложения из console?

Как вызвать функцию Win Forms приложения из console?

Нужно запустить приложение Win forms из командной строки cmd и передать параметры на выполнение функции, графический интерфейс при этом не должен...

369