我真的不敢相信我在问这个,但我读到的所有内容都是从 int 转换为 byte 到 string 到 byte 或其他东西。我实际上是在尝试将一个字节插入字节数组。或者就此而言,用字节而不是整数初始化一个字节数组。
byte[] header = {0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03};
编译器抱怨它们是整数。我正在尝试插入字节。
byte
是范围内的有符号整数[-128,127]
。0x8b
是139d
,因此您需要将其转换为一个字节(byte)0x8b
或使用适当范围内的值,例如-0x75
(相当于转换0x8b
为byte
)。
编译器威胁文字,0x8b
如整数,因此您必须显式转换为字节
byte[] header = { (byte) 0x0b, (byte) 0x1f };
字节是有符号整数,因此不能超过 127。0x8b
因此太大了。
public static byte[] bytes(byte... bytes){ return bytes; }
byte[] header=bytes(0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03);