Unity3D 串口通讯---字符串转字节流
? ? ? ?串口通讯时,我们需要接收字节流指令,即:byte[] data = {0x01, 0x10, 0x00, 0x03, 0x00, 0x07,?0x0E}的形式。有时,我们不是每条都直接这样写上去,大多数是以字符串的形式,即:string by = "01 10 00 03 00 07 0E"的形式经过转化成上面的形式再发送。所以这中间有个转化过程,代码如下:
/// <summary>
/// 字符串转字节流
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public static byte[] StringToBytes(string str)
{
if (string.IsNullOrEmpty(str))
{
return new byte[0];
}
string s = str.Replace(" ", "");
int count = s.Length /2;
var result = new byte[count];
for(int i = 0; i < count; i++)
{
var tempBytes = Byte.Parse(s.Substring(2*i,2), System.Globalization.NumberStyles.HexNumber);
result[i] = tempBytes;
}
return result;
}
可以通过串口助手和虚拟串口进行测试。
串口助手:https://download.csdn.net/download/WenHuiJun_/80791287
|