我无法理解为什么ByteBuffer无法跟踪其长度。我只想附加到bytebuffer并返回我放入它的内容。相反,我在最后得到随机垃圾,或者如果我压缩缓冲区它会截断我的输入。
这是两个例子:
nodejs -e 'ByteBuffer=require("bytebuffer"); b=new ByteBuffer(); b.append("word"); b=b.clone(); b.printDebug()'
ByteBufferNB(offset=4,markedOffset=-1,limit=16,capacity=16)
-------------------------------------------------------------------
77 6F 72 64<6B 14 00 00 00 00 00 00 00 00 00 00> wordk...........
nodejs -e 'ByteBuffer=require("bytebuffer"); b=new ByteBuffer(); b.append("word"); b.compact(); b.printDebug()'
ByteBufferNB(offset=0,markedOffset=-1,limit=12,capacity=12)
-------------------------------------------------------------------
<6B 14 00 00 00 00 00 00 00 00 00 00> k...........
有人知道如何包装这个创建缓冲区,其中包含完全包含的内容吗?不需要手动设置长度。