我正在尝试使用golang解析二进制协议 我正在使用编码/二进制库的读取功能将数据映射到结构
我的结构看起来像这样
type getSessionsResponseIPDR struct {
RequestID uint16
VendorID string
Name string
}
但是看起来好像不是二进制文件。Read函数不能处理以'\ 0'结尾的字符串
还有另一种读取该对象的方法
答案 0 :(得分:1)
encoding/binary
似乎无法实现,因为它仅支持固定大小的对象。这意味着根本不支持字符串。
如果您无法控制发送端,则必须“手动”实现它,例如从连接中读取并正确解释读取的字节。
如果您可以控制发送端,则可以使用encoding/gob
或encoding/json
之类的东西。