日期:2014-05-18  浏览次数:20908 次

16进制转化10进制问题
我有一串字符串SR01000002#<CR>。首先找到它所对应的ASCII值
byte[] data2 = System.Text.Encoding.ASCII.GetBytes("SR01000002#<CR>");
83 82 48 49 48 48 48 48 48 50 35 60 57 82 62
然后在转化成16进制。转化完后是53 52 30 31 30 30 30 30 30 32 23 0D
这是我通过一个工具转化过来的数据
前面一节转化都没问题 为什么后面4个转化完是0D呢?
另外怎么把这一串数据发送给串口? 还有从10进制转化成16进制的源码?
求告诉帮忙。小弟先谢谢各位了

------解决方案--------------------
data2 本身就是16进制的,byte就是16进制的,只不过你的代码需要改动下:
C# code

            byte[] data2 = System.Text.Encoding.ASCII.GetBytes("SR01000002#");
            byte[] data3 = new byte[data2.Length + 1];
            data2.CopyTo(data3, 0);
            data3[data2.Length] = 0x0D;