gpt4 book ai didi

go - 试图将整数插入字节数组

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:13 24 4
gpt4 key购买 nike

我有一个字节数组

app0 := []byte("\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x00\x00\x00\x00\x00")

我想弄清楚如何用包含 300 的两个字节替换 app0[13:15]

请帮忙。我尝试了以下但它甚至不会编译:

app0[13:15] = []byte(300)

最佳答案

我有点搞不懂你想用什么做

app0[13:15] = []byte(300)

单个字节不能容纳值 300,而您有一个 byte slice 。我假设您希望将值 300 转换为两个字节:

import (
"fmt"
"bytes"
"encoding/binary"
)

func main() {
app0 := []byte("\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x00\x00\x00\x00\x00")
app0 = append(app0[:13], append(intToBytes(uint16(300)), app0[15:]...)...)
fmt.Println(app0)
}

func intToBytes(i uint16) []byte {
buf := new(bytes.Buffer)
_ = binary.Write(buf, binary.LittleEndian, i)
return buf.Bytes()
}

https://play.golang.org/p/qADHwCCFQG

这里的技巧是你必须实际得到一个字节数组,然后你可以使用可变参数运算符(...)然后使用append函数来替换数组的内部元素。

关于go - 试图将整数插入字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27790333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com