我有以下数值:
public static short TAG_VALUE1 = 0x2E09;
public static short TAG_VALUE2 = 0x2E0D;
我想从两个值创建byte[]
。作为一个字节数组,我必须得到第一个字节并将其插入到数组中,然后插入每个TAG的第二个字节。我试图转换为字符串然后返回,但我认为这是一种更容易的方法。
如何在byte[]
看起来像这样?
2E 09 2E 0D
答案 0 :(得分:4)
怎么样
byte[] foo = new byte[] {
(byte) (TAG_VALUE1>>8),
(byte) (TAG_VALUE1),
(byte) (TAG_VALUE2>>8),
(byte) (TAG_VALUE2),
};
答案 1 :(得分:2)
请参阅ByteBuffer及其众多用途。
byte[] bytes = new byte[4];
ByteBuffer buf = ByteBuffer.wrap(bytes);
buf.putShort(TAG_VALUE1);
buf.putShort(TAG_VALUE2);