golang 小端字节数组 转 int
在 Go 语言中,可以使用 encoding/binary
包来处理字节序的转换。要将一个小端字节数组转换为整数,可以使用 binary.LittleEndian
进行解码。以下是一个示例代码,展示了如何将一个小端字节数组转换为 int
类型:
package main
import (
"bytes"
"encoding/binary"
"fmt"
)
func main() {
// 示例小端字节数组
byteArray := []byte{0x01, 0x00, 0x00, 0x00}
// 创建一个 bytes.Buffer 并写入字节数组
buf := bytes.NewBuffer(byteArray)
// 读取小端字节数组并转换为 int32
var num int32
err := binary.Read(buf, binary.LittleEndian, &num)
if err != nil {
fmt.Println("binary.Read failed:", err)
return
}
// 打印结果
fmt.Println("Converted integer:", num)
}
在这个示例中,我们首先创建了一个包含小端字节序的字节数组 byteArray
。然后,我们使用 bytes.NewBuffer
创建一个 bytes.Buffer
,并将字节数组写入其中。接着,我们使用 binary.Read
函数从缓冲区中读取数据,并将其转换为 int32
类型。最后,我们打印转换后的整数。
请注意,binary.Read
函数需要一个指向目标变量的指针,因此我们传递了 &num
。此外,binary.LittleEndian
指定了字节序为小端。
如果你需要转换为其他整���类型(如 int64
或 int
),只需相应地更改目标变量的类型即可。例如,将 var num int32
改为 var num int64
。