我看到了一些与我遇到的完全相同的问题的答案:How to convert Byte array to int in GO programming language?
我写了下面的函数来将字节数组转换为 int
func convertByteToInt(in []byte) int32 {
return (int32(in[0]) << 24 | int32(in[1]) << 16 | int32(in[2]) << 8 | int32(in[3]))
}
在此之前,我确保字节数组具有正确的(基数为 256)值。in[0] = 54(ASCII 为 6),in[1] = 54(ASCII 为 6),in[2] = 49(ASCII 为 1),in[3] = 49(ASCII 为 1)。
所以我期待从字节数组中检索整数 6611 值,但我最终得到了 909521201。我无法理解在这样一个简单的转换中到底发生了什么。任何人都可以闪光吗?
Helenr
相关分类