+func (b *Buffer) DecodeString(length int) string {
+ var v []byte
+ if length == 0 {
+ length = int(b.DecodeUint32())
+ v = b.buf[b.pos : b.pos+length]
+ } else {
+ v = b.buf[b.pos : b.pos+length]
+ if nul := bytes.Index(v, []byte{0x00}); nul >= 0 {
+ v = v[:nul]
+ }
+ }
+ b.pos += length
+ return string(v)
+}
+
+func BytesToString(b []byte) string {