源类型 | 目标类型 |
string | ushort |
ushort | byte[] |
byte[] | ushort |
1. 数值传递过程描述
软件A的串口,根据接收到的指令,从控件获取数值,发送到串口,进而传递给软件B;
软件B的串口,把接收到的从软件A串口发送的数值,显示到软件B的控件上。
这里的数据类型有:软件A、B控件的数值均为string,其所代表的参数值为ushort,串口传输的数据是byte数组。
因此,整个传输转换可以归结为:
string->ushort->byte[]->ushort->string
在软件B把接收byte[]显示时,可以考虑直接转为string,即:byte[]->string
2. 类型转换函数
1)string转ushort
ushort mUshort = 256;
mUshort = Convert.ToUInt16(textBox1.Text);
button1.Text = mUshort.ToString();
备注:ushort与UInit16均表示无符号16位整型,属相同类型,故通用。
2)ushort转byte[]2)ushort转byte[]
ushort mUshort = 12337;
byte[] bytes = BitConverter.GetBytes(mUshort);
3)byte[]转ushort
mUshort = BitConverter.ToUInt16(bytes,0);
4)ushort转string
button1.Text = mUshort.ToString();
5)byte[]转string
Encoding encod = Encoding.UTF8;
button2.Text = encod.GetString(bytes);
备注:此处直接将byte[i]转为对应的ASCII字符,显示到控件上。6)string直接转byte[]
利用BitConverter.GetBytes()可以将几乎所有其他类型数值转为byte[]。此处的string中每个字符对应的ascii码将存入byte[i]。