我正在尝试将一个字节转换为一个int,所以我继续这样做:
var d = []byte{0x01}
val, err := strconv.Atoi(string(d))
我收到此错误:
strconv.Atoi:解析“\ x01”:语法无效
我已经尝试了很多没有成功的方法..
有人有个主意吗?
答案 0 :(得分:1)
切片已包含1
的字节值,而不是ascii字符1
,因此无需尝试将其转换为字符串。
要将byte
切片转换为int
切片,请逐个转换每个值
byteSlice := []byte{1, 2, 3, 4}
intSlice := make([]int, len(byteSlice))
for i, b := range byteSlice {
intSlice[i] = int(b)
}
如需参考,请参阅Go Language Specification和Effective Go中有关转化的部分。