为了账号安全,请及时绑定邮箱和手机立即绑定

转换 NodeJS 字节缓冲区

转换 NodeJS 字节缓冲区

Go
芜湖不芜 2022-08-01 10:17:02
我正在尝试弄清楚如何像这样转换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

}


查看完整回答
反对 回复 2022-08-01
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信