Java Short to Byte Array [重复]
Posted
技术标签:
【中文标题】Java Short to Byte Array [重复]【英文标题】:Java Short to Byte Array [duplicate] 【发布时间】:2016-10-11 11:29:51 【问题描述】:我有一个
short val = 150;
我如何把这个short变成一个字节[2]?
我找到了一些代码示例,因为其他人也问过这些问题,但没有一个对我有用..请帮助我
【问题讨论】:
你应该发布你写的所有东西来试试这个,并具体解释每一个都不起作用的地方。 所以我想我们必须重复所有那些对你不起作用的例子? 【参考方案1】:试试这个。
short val = 150;
byte[] result = ByteBuffer.allocate(2).putShort(val).array();
【讨论】:
【参考方案2】:你可以这样做:
short val = 150;
byte []array = new byte[2]
array[0] = (byte)(val & 0xff);
array[1] = (byte)((val >> 8) & 0xff);
您将最不重要的字节放入数组[0]。在数组[1] 中最重要的字节。
更多操作的含义可以阅读here
【讨论】:
感谢您的快速回答,如果我尝试这样做,我会得到以下输出:array[0] = -106 array[1] = 0 这对我没有意义 为什么不呢?有什么问题? 你能解释一下每一行代码吗?我真的不明白..谢谢你 在数组[0] 中将有位的最低有效部分。 (最低有效字节)。在数组[1] 中最重要。显然,如果您愿意,您可以反转。 0xff 表示十六进制的 FF。有关您在此处阅读的含义的更多信息:oscarliang.com/… 非常感谢。它一直对我有用,我只是对字节数组中有负数这一事实感到不舒服。谢谢!以上是关于Java Short to Byte Array [重复]的主要内容,如果未能解决你的问题,请参考以下文章
java 详细介绍short,byte,char三种类型,我分不清