проблема
Мне нужно преобразовать два 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);
Теперь, когда кажется немного избыточным. Я, безусловно, могу поместить все в байтовый буфер и преобразовать это в байтовый массив. Тем не менее, я понятия не имею, что такое длина строки. Так как бы я выделил байтовый буфер в этом случае? (Чтобы выделить байтовый буфер, вы должны указать его вместимость)