猿问

GoLang 按位计算

我有一个缓冲区:


buffer := bytes.NewBuffer([]byte{

        0x85, 0x02, 0xFF, 0xFF,

        0x00, 0x01, 0x00, 0x02,

        0x00, 0x00, 0x00, 0x00,

        0x00, 0x00, 0x00, 0x00,

        0x00, 0x00, 0x00, 0x00,

        0x00, 0x00, 0x00, 0x01,

        0x00, 0x00, 0x00, 0x03,

        0x41, 0x42, 0x43,

    })

我正在尝试返回缓冲区 [8:24] 的 int 值我得到


[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]

不知道如何移动这么大的部分。字节的。


新的。任何帮助都会很棒。我最初的方法是


requestid := (uint64(buffer.Bytes()[8]&0xff)<<24 + uint64(buffer.Bytes()[9]&0xff)<<16 + uint64(buffer.Bytes()[10]&0xff)<<8 + uint64(buffer.Bytes()[11]&0xff.....)))

但这变得乏味,我知道必须有更简单的方法。


DIEA
浏览 152回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答