猿问

转换 NodeJS 字节缓冲区

我正在尝试弄清楚如何像这样转换NodeJS代码:


const buffer = new Buffer(24);

offset = buffer.writeUInt32BE(this.a, offset);

offset = buffer.writeUInt32BE(this.b, offset);

offset = buffer.writeUInt8(this.c, offset);

offset = buffer.writeUInt16BE(d, e); 1 : 0, offset);

buffer.writeInt8(this.f, offset);

去。


我想我可以使用


buffer := make([]byte, 24)

buffer[0] = a

buffer[2] = b

但这不起作用


有没有推荐的方法来用Go做这样的事情?


芜湖不芜
浏览 82回答 1
1回答

慕村9548890

您应该使用二进制文件。字节顺序。因此,在你的情况下,使用大端序,类似于:package mainimport (    "encoding/binary")func main() {    buffer := make([]byte, 24)    // Uint32    binary.BigEndian.PutUint32(buffer, 1)    binary.BigEndian.PutUint32(buffer[4:], 2)    // Uint8    buffer[8] = 3    // Uint16    binary.BigEndian.PutUint16(buffer[9:], 4)    // Uint8    buffer[13] = 5}
随时随地看视频慕课网APP

相关分类

Go
我要回答