标签导航:

go语言中[]byte数组如何表示二进制数据?

本文分析Go语言中[]byte数组如何表示二进制数据,并以.ico文件为例进行说明。

Go语言代码片段中,变量Data声明为[]byte类型,并赋值一系列十六进制数值:

var Data []byte = []byte{
    0x00, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x30, 0x30, 0x10, 0x00, 0x01, 0x00,
    0x04, 0x00, 0x68, 0x06, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0x20, 0x20,
    0x10, 0x00, 0x01, 0x00, 0x04, 0x00, 0xe8, 0x02, 0x00, 0x00, 0x1e, 0x07, // ...
}

这段代码将.ico文件内容赋值给Data变量。[]byte表示一个字节数组,byte是uint8类型的别名,即无符号8位整数。 0x前缀表示十六进制数值,每个数值代表数组中的一个字节。因此,Data变量存储的是.ico文件的二进制数据,以十六进制形式表示。每个十六进制数占据一个字节(8位)。

Go语言中[]byte数组是如何表示二进制数据的?