【发布时间】:2016-10-10 14:44:03
【问题描述】:
我有以下十六进制数据:0xB01B;其45083 为 uint16;如何在 go 中将其转换为 uint16?
【问题讨论】:
我有以下十六进制数据:0xB01B;其45083 为 uint16;如何在 go 中将其转换为 uint16?
【问题讨论】:
使用encoding/binary 包:
import (
"encoding/binary"
)
data := []byte{0xB0, 0x1B}
val := binary.BigEndian.Uint16(data)
【讨论】:
另一个选项是ReadUint16:
package main
import "golang.org/x/crypto/cryptobyte"
func main() {
s := cryptobyte.String{0xB0, 0x1B}
var n uint16
s.ReadUint16(&n)
println(n == 45083)
}
https://godocs.io/golang.org/x/crypto/cryptobyte#String.ReadUint16
【讨论】: