Запись байтов из текстового поля в файл из базового потока с помощью C # - PullRequest
0 голосов
/ 02 апреля 2012

В основном мне нужно преобразовать текст в текстовом поле из UTF-8 в base16 (я думаю, что это шестнадцатеричный код) и записать его в файл.

Это, но обратно слова:

//Setup byte reader.
            FileStream fs = new FileStream(EditOpen.FileName, FileMode.Open);
            BinaryReader br = new BinaryReader(fs);
            long length = fs.Length;
            //Read bytes to textBox1.
            br.BaseStream.Position = 0x00001844; //Min loading address.
            byte[] PT = br.ReadBytes(0x00000428); //Amount of bytes to load (1064 to be exact).

            //Print string PT to textBox1 after converting to UTF-8 and replace 0's with DOT's.
            textBox1.Text = System.Text.Encoding.UTF8.GetString(PT).Replace("\0", ".");
            fs.Close();

1 Ответ

0 голосов
/ 02 апреля 2012

Самый простой способ - использовать StreamWriter , созданный с правильной кодировкой

  using(StreamWriter sw = 
            new System.IO.StreamWriter(fs, 
                System.Text.UTF8Encoding))
  {
     sw.Write(textBox1.Text);
  }
...