2015-07-10 191 views
-1

无法将字符转换为字符串来获取字节,而不是使用数组通过串行端口发送。如何将字符和字符串转换为字节数组?

const char STX = '\u0002'; 
    const char ETX = '\u0003'; 
    string pull_shelf_104 = (STX + "01P00104##" + ETX); 

    private byte[] WrapString(string pull_shelf_104) 
    { 
     int length = pull_shelf_104.Length; 
     byte[] send104 = new byte[length]; 
     Array.Copy(System.Text.Encoding.ASCII.GetBytes(pull_shelf_104), 0, send104, 0, length); 
     return send104; 
    } 

    private void linkLabel_HC1_100_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
    { 
     if (serialPort1.IsOpen) 
     { 
      byte data = WrapString(string pull_shelf_104); 
      serialPort1.Write(data,0,1); 
     } 
    } 
+0

你不需要'Array.Copy'为'ASCII.GetBytes'已经返回字节数组。 –

+0

你说'麻烦',有什么问题吗?你有没有得到任何错误? – ekad

回答

3

您可以尝试简单:

private byte[] WrapString(string pull_shelf_104) 
{ 
    return System.Text.Encoding.ASCII.GetBytes(pull_shelf_104); 
} 
相关问题