当前位置:编程学习 > C#/ASP.NET >>

字符编码的问题

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,