字符编码的问题
byte[] byteArray =System.Text.Encoding.Default.GetBytes(serialPort1.ReadExisting());string str += byteToHexStr(byteArray);
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = 0; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
} return returnStr;
}
在DataReceived事件中 用以上代码处理接收缓冲区的数据
字节转字符串应该没错
感觉问题出在第一步的编码方式上
请问应该怎么弄?
大概出现的问题是 0x00~0x7F之间转换都正确
但是从0x80之后一律返回3F
不明白是为什么,哪位大哥给解释下
帮小弟分析分析问题出在哪
或者给个其它串口接收代码也行(下位机返回的是16进制字节,要求转换成16进制字符串) 编码 数据 转换 C# 串口
补充:.NET技术 , C#