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