各位好,我从串口读过来的数据存储在byte数组中,想转成16字制的字符串存于文件中,格式如:FF 00 56 65 
我用的方法是:
              byte[] readBuffer = new byte[1024];
            spCDMA.Read(readBuffer, 0, readBuffer.Length);
            string sbDtaReceived= "";
            for (int i = 0; i < readBuffer.Length; i++)//逐字节变为16进制字符
            {
                sbDtaReceived+= " " + Convert.ToString(readBuffer[i], 16).PadLeft(2, '0').ToUpper();
            }
 但这样速度太慢,请问哪位有没有比较快的方法?谢谢!

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/bb311038.aspx
    下面的示例演示如何使用 System..::.BitConverter 类将字节数组转换为十六进制字符串。
    C#
    复制代码byte[] vals = { 0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD };string str = BitConverter.ToString(vals);
    Console.WriteLine(str);str = BitConverter.ToString(vals).Replace("-", "");
    Console.WriteLine(str);
      

  2.   

    谢谢human_2 ,我学习一下!