代码拉取完成,页面将自动刷新
package payload
import "bytes"
func writeBinaryLen(l int64, w *bytes.Buffer) error {
if l <= 0 {
if err := w.WriteByte(0x00); err != nil {
return err
}
if err := w.WriteByte(0xff); err != nil {
return err
}
return nil
}
max := int64(1)
for n := l / 10; n > 0; n /= 10 {
max *= 10
}
for max > 0 {
n := l / max
if err := w.WriteByte(byte(n)); err != nil {
return err
}
l -= n * max
max /= 10
}
return w.WriteByte(0xff)
}
func writeTextLen(l int64, w *bytes.Buffer) error {
if l <= 0 {
if err := w.WriteByte('0'); err != nil {
return err
}
if err := w.WriteByte(':'); err != nil {
return err
}
return nil
}
max := int64(1)
for n := l / 10; n > 0; n /= 10 {
max *= 10
}
for max > 0 {
n := l / max
if err := w.WriteByte(byte(n) + '0'); err != nil {
return err
}
l -= n * max
max /= 10
}
return w.WriteByte(':')
}
func readBinaryLen(r byteReader) (int64, error) {
ret := int64(0)
for {
b, err := r.ReadByte()
if err != nil {
return 0, err
}
if b == 0xff {
break
}
if b > 9 {
return 0, errInvalidPayload
}
ret = ret*10 + int64(b)
}
return ret, nil
}
func readTextLen(r byteReader) (int64, error) {
ret := int64(0)
for {
b, err := r.ReadByte()
if err != nil {
return 0, err
}
if b == ':' {
break
}
if b < '0' || b > '9' {
return 0, errInvalidPayload
}
ret = ret*10 + int64(b-'0')
}
return ret, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。