我已经实现了从字节数组中获取消息的逻辑。无法获取全长消息
public getInfo(byte[] hi) {
type = ....
sequence = ....
int ack = ....
int lastbyte = ....;
int isUTF8byte = .....;
actual_msg += (char) hi[CHAR1];
actual_msg += (char) hi[CHAR2];
actual_msg += (char) hi[CHAR3];
actual_msg += (char) hi[CHAR4];
actual_msg += (char) hi[CHAR5];
}
问题是它只给出了消息的前五个字符。我的意思是如果字节数组包含Hello How are you
,我只能得到输出为Hello
。字节数组具有char消息的第3到第7个字节(5个字节)。
我认为消息中剩余字符的逻辑应该位于for
循环中,因为目前我有逻辑来读取前5个字符。第0到第2个字节对于所有消息组是相同的。只有3至7字节是我关心的问题。
我该如何执行此操作?
如果'的byte []'是7个字节长,你如何期待它持有“你好,你好吗”? – bradimus
不,我的意思是大小不是7个字节。字节数组的字段具有第3至第7字节作为字符消息。我编辑了我的问题。对不起 – Mark023
它仍然听起来像你没有足够的'字节'。要得到“你好,你好吗”,你需要使用字节3到19(假设我正确计算)。消息是否限制为7个字节,或者是否有空间存储更多数据? – bradimus