您好,我正在尝试将00000000000000000000000001011转换为在Golang中使用的uint32

var v = "00000000000000000000000000001011"
fmt.Printf("%T\n", v)
c := []byte(v)
u := binary.LittleEndian.Uint32(c)

但是它不起作用。

最佳答案:

encoding/binary
s := "00000000000000000000000000001011"
u, err := strconv.ParseUint(s, 2, 32)
if err != nil {
    panic(err)
}
fmt.Println(u)

此输出(在
strconv.ParseUint()
上尝试):
11

请注意,
strconv.ParseUint()
返回类型为
uint64
的值,因此如果需要,必须手动转换它,例如:
u32 := uint32(u)

有更多的选项可以解析字符串中的数字,有关概述,请选中Go Playground