将字节插入字节数组

时间:2012-10-28 22:28:09

标签: java bytearray byte

我真的不敢相信我问这个,但我读到的一切都是从int转换为byte到string转换为byte或者其他东西。我真的试图将一个字节插入一个字节数组。或者就此而言,使用字节初始化字节数组,而不是整数。

byte[] header = {0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03};

编译器抱怨它们是整数。我正在尝试插入字节。

4 个答案:

答案 0 :(得分:9)

byte[-128,127]范围内的有符号整数。 0x8b139d,因此您需要将其强制转换为字节(byte)0x8b或使用适当范围内的值,例如-0x75(相当于转换0x8b 1}}到byte)。

答案 1 :(得分:3)

编译器威胁像0x8b这样的文字作为整数,所以你必须显式地转换为字节

byte[] header = { (byte) 0x0b, (byte) 0x1f };

答案 2 :(得分:3)

字节是有符号整数,因此不能超过127. 0x8b因此太大了。

Reference

答案 3 :(得分:0)

public static byte[] bytes(byte... bytes){ return bytes; }

byte[] header=bytes(0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03);