日期:2014-05-20  浏览次数:20577 次

java中的数据转换,需要传给单片机处理,求大神帮忙看看!
从xml文件中解析出来的某个属性的值是int型的,假设为1,
现在有一个char[]数组,长度为96,
char[] szch = new char[96]

现在为该属性分配了2个字节,分别是szch[8]和szch[9],
现在需要把这个属性值1(int型,值为1,它是4个字节,32位的)
按照2个字节16位的长度放入到这两个位置中,请问在java中如何处理?

机器只考虑低字节截取。

再详细说下:
1在java中的int型是32位存储的
0000 0000 0000 0000 0000 0000 0000 0001
现在只需要截取后面的0000 0001,分别放入szch[8]和szch[9]中。

现在主要是因为需要通过安卓软件通讯,传给单片机处理的,
所以不能把ascii字符直接赋值,假如char[8] = '0',里面实际传的值是0的ascii 32。


多谢!

------解决方案--------------------
运行结果:
0000000000000000 0001000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000