如何将字符和字符串转换为字节数组?
问题描述:
无法将字符转换为字符串来获取字节,而不是使用数组通过串行端口发送。如何将字符和字符串转换为字节数组?
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);
}
}
答
您可以尝试简单:
private byte[] WrapString(string pull_shelf_104)
{
return System.Text.Encoding.ASCII.GetBytes(pull_shelf_104);
}
你不需要'Array.Copy'为'ASCII.GetBytes'已经返回字节数组。 –
你说'麻烦',有什么问题吗?你有没有得到任何错误? – ekad