gpt4 book ai didi

Go - 将 2 字节数组转换为 uint16 值

转载 作者:IT王子 更新时间:2023-10-29 01:16:44 24 4
gpt4 key购买 nike

如果我在 Go 中有一段字节,类似于这样:

numBytes := []byte { 0xFF, 0x10 }

如何将其转换为 uint16 值 (0xFF10, 65296)?

最佳答案

你可以使用binary.BigEndian.Uint16(numBytes)
就像这个工作示例代码(带有注释输出):

package main

import (
"encoding/binary"
"fmt"
)

func main() {
numBytes := []byte{0xFF, 0x10}
u := binary.BigEndian.Uint16(numBytes)
fmt.Printf("%#X %[1]v\n", u) // 0XFF10 65296
}

并查看 binary.BigEndian.Uint16(b []byte) 的内部:

func (bigEndian) Uint16(b []byte) uint16 {
_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
return uint16(b[1]) | uint16(b[0])<<8
}

希望对您有所帮助。

关于Go - 将 2 字节数组转换为 uint16 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38675266/

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