feat(bytepacket): 自 go-hua 迁入二进制封包工具

- 小端序读写, 兼容易语言协议(GBK 字符串/易语言日期)
- 附测试、examples/bytepacket 例程与包 README
This commit is contained in:
2026-09-20 12:25:35 +08:00
parent b478482f21
commit f9f7c7c92f
4 changed files with 481 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# bytepacket
二进制封包/解包工具(小端序):按偏移读写整数/字符串/字节集,兼容易语言协议——
含 GBK 字符串转换与易语言日期类型。
> 迁移自 go-hua/bytepacket,代码保持原样。
## 用法
```go
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](../examples/bytepacket/main.go)
## 注意
- 小端序,与常见网络字节序(大端)不同,跨语言对接时先确认字节序。
- 主要面向易语言系既有协议的兼容场景;新协议建议用本仓库 `frame` 或 `proto`。