后面的字符串转为byte[],在前面加上SOH,传过去再转为字符串。可以吗

解决方案 »

  1.   

    遍历每个字符串,如果它的前三个字符是SOH,则将它替换为“”,然后进行相加。完成后在字符串头加上 "SOH"
      

  2.   


    byte[] sendBuffer = new byte[1024];byte SOH = 0x01;                        //<---
    sendBuffer[0] = SOH;                    //<---string str = "1234567890";
    Encoding.ASCII.GetBytes(str, 0, str.Length, sendBuffer, 1);socket.Send(sendBuffer);
    1、ASCii中SOH是一个控制字符,它的编码是0x01,而不是SOH三个字符。
    2、Socket传输的是字节流(byte[]),要把字符串转换成字节流。