2012-04-01 3 views
0

기본적으로 텍스트 상자의 텍스트를 UTF-8에서 base16으로 변환해야합니다 (16 진수라고 생각합니다). 파일에 쓰십시오.C#으로 기본 스트림에서 파일에 텍스트 상자에서 바이트를 쓰십시오

이 있지만, 다시 말해 :

//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(); 

답변

0

가장 쉬운 방법은 사용하는 것입니다 StreamWriter 기본 주소를 허용 올바른 encoding

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

윌 만들어? –

+0

기본 스트림의 위치가 변경되면 StreamWriter에도 영향을 미친다 고 생각합니다. 나는 지금 시험 할 수 없지만 시험해보아야한다. –

관련 문제