FileStream fs = new FileStream("c:\\abc.txt", FileMode.Create); string mystr = "chinaren"; Byte[] d = new Byte[5]; d=Encoding.UTF8.GetBytes(mystr); fs.Write(d, 0, d.Length); fs.Close();
我把字節數組d定義了5個字節的長度,但是通過Encoding.UTF8.GetBytes(mystr)轉換成8個字節長度,把這8個字節長度的數據放入5個字節數組d,沒有報錯和益出,打開c:\abc.txt文件,確實保存了chinaren這8個字符,請問大家,這是什么原因。
d=Encoding.UTF8.GetBytes(mystr);這一行加個斷點 然后添加監視 看看d的長度有沒有變就可以了
提問者評價
經添加斷點調試,發現經過d=Encoding.UTF8.GetBytes(mystr);這一句代碼后d變成8個字節數組,多謝。
Encoding.UTF8.GetBytes() 返回的是一個 byte[] d會被重新定義和賦值 變成 byte[8]