bytepacket
二进制封包/解包工具(小端序):按偏移读写整数/字符串/字节集,兼容易语言协议—— 含 GBK 字符串转换与易语言日期类型。
迁移自 go-hua/bytepacket,代码保持原样。
用法
import "git.zeroonesoft.cn/golib/zogo/bytepacket"
// 解包:从字节集创建后按序读取
p := bytepacket.NewPacket(data)
v := p.ReadInt32()
s := p.ReadStringGbk() // GBK → UTF-8
t := p.ReadElangDateTime() // 易语言日期 → time.Time
// 封包:按序写入后取结果
w := bytepacket.NewPacket(nil)
w.WriteInt32(100)
w.WriteStringGbk("中文")
wire := w.GetData()
完整可运行例程:examples/bytepacket/main.go
注意
- 小端序,与常见网络字节序(大端)不同,跨语言对接时先确认字节序。
- 主要面向易语言系既有协议的兼容场景;新协议建议用本仓库
frame或proto。