Byte[] _OutputData = { 0xFA, 0xE1, 0x01, 0x5B, 0x00, 0x17, 0x30, 0x20, 0x09, 0x12, 0x10, 0x15, 0x54, 0x46, 0x00, 0x01, 0x00, 0x00, 0x03, 0x02, 0x02, 0x00, 0x00, 0xBA, 0x18 };
string a=System.Text.Encoding.Default.GetString(_OutputData );
strint b=System.Text.Encoding.Default.GetBytes(a);
转换后获取数据b不等于_OutputData,为什么?

解决方案 »

  1.   

    OutputData 是不是十六进制啊?
    b得到的是十进制吧
      

  2.   

    首先System.Text.Encoding.Default.GetBytes(a)返回来的应该是Byte[]而不是string,其次楼上说的对,你得到的b在数组里是.net默认的十进制。
    其实你在调试的时候参看_outputData数组,会发现已经自动转化成十进制了
      

  3.   

    你的b是Byte数组吧,如果是的话,b的数据和_OutputData是一样的,只是输出的是十进制的数,你可以试着把b与_OutputData都输出一下,两个是完全一样的。