-1

我想将 6 字节切片转换为小端编码。

我正在使用字节切片解析数组,并使用二进制包的读取函数将它们转换为小端。但是当我解析一个 6 字节切片时,例如 {05,00,00,00,00,00} 它返回零(十六进制表示法),数据接口为 uint64。有没有办法使用上述功能而不是硬编码来做到这一点。请注意,如果我将剩余的两个字节填充为零,我会得到结果,但不知何故,我的解析器会丢失数组的以下两个字节。

感谢您的帮助/建议。

4

1 回答 1

1

手动解码。这很简单:

b := []byte{5,0,0,0,0,0,0}
i := uint64(b[0]) |
     uint64(b[1]) << 8 |
     uint64(b[2]) << 16 |
     uint64(b[3]) << 24 |
     uint64(b[4]) << 32 |
     uint64(b[5]) << 40
于 2013-09-26T19:34:03.310 回答