ความพยายามของฉัน:
public static byte[] toBytes(final int intVal, final int... intArray) {
if (intArray == null || (intArray.length == 0)) {
return ByteBuffer.allocate(4).putInt(intVal).array();
} else {
final ByteBuffer bb = ByteBuffer.allocate(4 + (intArray.length * 4)).putInt(intVal);
for (final int val : intArray) {
bb.putInt(val);
}
return bb.array();
}
}
ด้วยคุณสามารถทำสิ่งนี้:
byte[] fourBytes = toBytes(0x01020304);
byte[] eightBytes = toBytes(0x01020304, 0x05060708);
คลาสเต็มอยู่ที่นี่: https://gist.github.com/superbob/6548493รองรับการเริ่มต้นจากกางเกงขาสั้นหรือยาว
byte[] eightBytesAgain = toBytes(0x0102030405060708L);