我正在尝试从ByteString.fromArray(msgBuf.array())
中删除零,但是通过使用ByteString.fromArray(msgBuf.array()).sliceWithKnownBound(0, 91)
忽略了字节记录器,我能够忽略并看到没有零的值
但是当我返回上面带有slice的内容时,零仍然位于消息的末尾
public ByteString marshal(Msg req) {
MsgOff in=new MsgOff(req.getBase());
ByteBuffer msgBuf = ByteBuffer.allocate(128);
msgBuf.put((byte)0x02);//STX
msgBuf.put(in.base.getString(2).getBytes());
msgBuf.put(FS);
msgBuf.put((byte)0x03);
return ByteString.fromArray(msgBuf.array());
}