你可能誤解Convert.ToChar的意思
Convert.ToChar是把hex轉成相對應ascii code
像a的ascii code是0x61
byte[] b = new byte[2] { 0x61,0x62 };
string s=Convert.ToChar(b[0]); => s="a";
string s=Convert.ToChar(b[1]); => s="b";
如果你要把byte code轉成"字面上"的數值 應該這樣寫
byte[] b = new byte[2] { 0x61,0x62 };
string s=b[0].ToString("X2"); => s="61";
string s=b[1].ToString("X2"); => s="62";
※ 引述《maonan (嘉德堂)》之銘言:
: 程式碼如下:
: byte[] b = new byte[2] { 0x00,0x00 };
: string s = "";
: for (int i = 0; i < 2; i++)
: s += Convert.ToChar(b[i]);
: textBox1.Text = s + "123";
: 我發現,在textBox1裡,不會正確顯示所有字串。
: 也就是說,連字串"123"亦不見了。
: 請問,我該如何處置 0x00 所造成的這種情形?
:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.230
※ 編輯: MRjk 來自: 140.116.12.80 (05/01 14:20)