当结构包含字符串时解码二进制数据

我正在尝试使用golang解析二进制协议 我正在使用编码/二进制库的读取功能将数据映射到结构

我的结构看起来像这样

type getSessionsResponseIPDR struct {
    RequestID     uint16
    VendorID      string
    Name          string
}

但是看起来好像不是二进制文件。Read函数不能处理以'\ 0'结尾的字符串

还有另一种读取该对象的方法

xukelongjinhong 回答:当结构包含字符串时解码二进制数据

encoding/binary似乎无法实现,因为它仅支持固定大小的对象。这意味着根本不支持字符串。

如果您无法控制发送端,则必须“手动”实现它,例如从连接中读取并正确解释读取的字节。

如果您可以控制发送端,则可以使用encoding/gobencoding/json之类的东西。

本文链接:https://www.f2er.com/3154952.html

大家都在问