作者MRjk (efeewgf)
看板C_Sharp
标题Re: [问题] 有关byte转char问题
时间Thu Apr 23 12:26:48 2009
你可能误解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)