0

我有以下数据字段:

int iData1 = 100;   
int iData2 = 5000;
float fData3 = 80.5f;
float fData4 = 100.1f;
String str1 = "BBBB";   

将数据作为字节数组发送如下:

ByteBuffer buf=ByteBuffer.allocate(BUF_SIZE);  
buf.order(ByteOrder.BIG_ENDIAN);
buf.putInt(bData1);
buf.putInt(iData2);
buf.putFloat(fData3);
buf.putFloat(fData4);
buf.put(str1.getBytes());
sendBytes(buf.array());

为了解析接收到的字节数组,我可以得到每个字段:

iData1 = bbf.getInt();
iData2 = bbf.getInt();
iData3 = bbf.getInt();
fData3 = bbf.getFloat();
fData4 = bbf.getFloat();

但是如何获取接收到的数组中的字符串数据字段(str1)呢?任何提示将不胜感激。谢谢!

4

1 回答 1

1

将字符串的长度放在字符串之前。然后分两步读取字符串:

sDataLen = bbf.getInt();
bbf.get(sData5, 0, sDataLen);
于 2012-08-16T07:00:57.273 回答