我正在尝试弄清楚如何像这样转换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] = abuffer[2] = b但这不起作用有没有推荐的方法来用Go做这样的事情?
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
您应该使用二进制文件。字节顺序。
因此,在你的情况下,使用大端序,类似于:
package main
import (
"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
}
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消