比如   string  buf="124"+" "+"245"+" "+"789";//中间的“ ”表示空格
// 需要转换为16进制的ASCII码形式,存到一个byte的数组里,好进行串口通讯时发送出去,byte[] buf16=将字符串转为16进制数组形式;

解决方案 »

  1.   

    byte[] buf16 = Encoding.ASCII.GetBytes(buf);
      

  2.   

    buf.Split(' ').Select(s=>Convert.ToByte(s)).ToArray()
      

  3.   

    入行时间不短了啊。给你不全一下吧
    byte[] buf16 = buf.Split(' ').Select(s=>Convert.ToByte(s)).ToArray();
      

  4.   

    要加一个16,才是十六进制。
    code=csharp]
    byte[] buf16 = buf.Split(' ').Select(s=>Convert.ToByte(s,16)).ToArray();[
    [/code]不过十六进制的124大于255,byte放不下了,你可能要2位2位的搞,写个函数吧。        private byte[] StringToBytes16(string source)
            {
                byte[] destination = new byte[source.Length / 2];
                for (int i = 0, j = 0; i < source.Length && j < source.Length / 2; i += 2, j++)
                {
                    string item = source.Substring(i, 2);
                    destination[j] = Convert.ToByte(item, 16);
                }
                return destination;
            }