C#2005 串口 解码显示(单片机)

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:55:47
我使用C#编写上位机程序.数据来源于单片机上传的八位数据.我使用:
// 获取字节长度
int bytes = COM.BytesToRead;
// 创建字节数组
byte[] buffer = new byte[bytes];
// 读取缓冲区的数据到数组
COM.Read(buffer, 0, bytes);
// 显示读取的数据到数据窗口
AllReceive = AllReceive + System.Text.UTF8Encoding.UTF8.GetString(buffer)+" ";
得到的都是乱码,我尝试使用:
AllReceive = AllReceive + System.Text.Encoding.Unicode.GetString(buffer)+" ";
得到的还是乱码,我认为就是编码的问题.请问大家是否知道该如何处理,谢谢.

不知道你用的是什么控件,不是控件的话用PAI函数是会有上面的情况发生的,
用的控件话,你注意下编码问题就可以了,上网查一下怎么转换编码应该可以解决你的问题

取出一个byte和两个byte,然后写在纸上,研究研究这2个二进制码与哪种编码吻合。

C#的字符编码都是32位的,而单片机是8位的。