Go 将字节片转换为int片

Go 将字节片转换为int片,go,Go,我目前正试图将字节转换为整数,因此我继续如下操作: var d = []byte{0x01} val, err := strconv.Atoi(string(d)) 我得到了这个错误: strconv.Atoi:正在分析“\x01”:无效语法 我已经尝试了很多方法,但都没有成功 有人想到了吗?该片已经包含一个字节值1,而不是ascii字符1,因此无需尝试将其转换为字符串 要将字节片转换为整数片,请分别转换每个值 byteSlice := []byte{1, 2, 3, 4} intSlice

我目前正试图将
字节
转换为
整数
,因此我继续如下操作:

var d = []byte{0x01}
val, err := strconv.Atoi(string(d))
我得到了这个错误:

strconv.Atoi:正在分析“\x01”:无效语法

我已经尝试了很多方法,但都没有成功


有人想到了吗?

该片已经包含一个字节值
1
,而不是ascii字符
1
,因此无需尝试将其转换为字符串

要将
字节片
转换为
整数片
,请分别转换每个值

byteSlice := []byte{1, 2, 3, 4}
intSlice := make([]int, len(byteSlice))
for i, b := range byteSlice {
    intSlice[i] = int(b)
}

有关参考信息,请参阅和中有关转换的章节。

0x01的原始值不是ascii字符。请提供一个您试图解决的问题的完整示例。如果我将[]字节{1}放在这里,我会得到与您所看到的相同的错误:因为
0x01
1
只是写入相同值1的不同方式。获取值为1的单个字节并尝试将其解析为字符串中的十进制数是没有意义的。您正在尝试解析某种二进制编码吗?