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

Go 当结构包含字符串时解码二进制数据,go,Go,我试图用golang解析一个二进制协议 我正在使用编码/二进制库的Read函数将数据映射到结构 我的结构是这样的 type getSessionsResponseIPDR struct { RequestID uint16 VendorID string Name string } 但是,它看起来不像二进制。Read函数不处理以“\0”结尾的字符串 是否有其他方法读取此对象对于编码/二进制,这似乎是不可能的,因为它只支持固定大小的对象

我试图用golang解析一个二进制协议 我正在使用编码/二进制库的Read函数将数据映射到结构

我的结构是这样的

type getSessionsResponseIPDR struct {
    RequestID     uint16
    VendorID      string
    Name          string
}
但是,它看起来不像二进制。Read函数不处理以“\0”结尾的字符串


是否有其他方法读取此对象

对于
编码/二进制
,这似乎是不可能的,因为它只支持固定大小的对象。这意味着根本不支持字符串

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


如果您可以控制发送端,可以使用或之类的命令。

Read命令返回无效的类型。如果没有看到任何有问题的代码,我认为我们无法帮助您。您是否将
GetSessionResponseIPDR
对象作为指针传递?请显示读取它的代码。也可能是
编码/binary
包不支持字符串,请检查是否返回
-1
我认为它不支持字符串,请参见此处: