如何向串口写入中文字符

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:38:12
用VS2005可以很方便地用serialPort控件与串口设备进行通信,现在已知串口设备能够接收GB2312的字符编码,但是我用serialPort1.WriteLine("中文")的时候,串口设备接收到的却是一堆乱码,请问各位大哥,这个过程中是否还需要对中文字符进行一个处理?谢谢了!

byte[] data = System.Text.Encoding.UTF8.GetBytes("中文");
SerPort.Write(data,0,data.Length);
把中文变成byte然后写进去,然后再还原,这样试试!接受端收到数据以后string reslut = System.Text.Encoding.UTF8.GetString(data);这样还原

用写入流对串口进行封装,初始化该流时指定编码格式Encoding.GetEncoding("gb2312")就可以了。

编码一下就没什么问题了!

复制 粘贴