BYTEBUFFER и BYTE ARRAY

проблема

Мне нужно преобразовать два ints и строку переменной длины до байтов.

То, что я сделал

, я преобразовал каждый тип данных в байтовый массив, а затем добавил их в байтовый буфер. Из которых сразу после этого я скопирую этот буфер в один байтовый массив, как показано ниже.

byte[] nameByteArray = cityName.getBytes();
byte[] xByteArray = ByteBuffer.allocate(4).putInt(x).array();
byte[] yByteArray = ByteBuffer.allocate(4).putInt(y).array();
ByteBuffer byteBuffer = ByteBuffer.allocate(nameByteArray.length + xByteArray.length + yByteArray.length);

Теперь, когда кажется немного избыточным. Я, безусловно, могу поместить все в байтовый буфер и преобразовать это в байтовый массив. Тем не менее, я понятия не имею, что такое длина строки. Так как бы я выделил байтовый буфер в этом случае? (Чтобы выделить байтовый буфер, вы должны указать его вместимость)

7
задан darksky 31 August 2011 в 13:20
поделиться