固定大小字节数组(Fixed-size byte arrays)
固定大小字节数组可以通过 bytes1
, bytes2
, bytes3
, …, bytes32
来进行声明。PS:byte
的别名就是 bytes1
。
注意:固定大小字节数组和可变字节数组可以简单的理解为一串字母和数字,与其他语言的数组(array:[1,2,3])不同,其后要说到的数组类型和其他语言的数组一致。--!
bytes1
只能存储一个
字节,也就是二进制8位
的内容。bytes2
只能存储两个
字节,也就是二进制16位
的内容。bytes3
只能存储三个
字节,也就是二进制24位
的内容。- ……
bytes32
能存储三十二个
字节,也就是二进制32 * 8 = 256
位的内容。
pragma solidity ^0.4.4;
contract C {
// 0x6c697975656368756e
byte public a = 0x6c; // 0110 1100
bytes1 public b = 0x6c; // 0110 1100
bytes2 public c = 0x6c69; // 0110 1100 0110 1001
bytes3 public d = 0x6c6979; // 0110 1100 0110 1001 0111 1001
bytes4 public e = 0x6c697975; // 0110 1100 0110 1001 0111 1001 0111 0101
// ...
bytes8 public f = 0x6c69797565636875; // 0110 1100 0110 1001 0111 1001 0111 0101 0110 0101 0110 0011 0110 1000 0111 0101
bytes9 public g = 0x6c697975656368756e; // // 0110 1100 0110 1001 0111 1001 0111 0101 0110 0101 0110 0011 0110 1000 0111 0101 0110 1110
}
说明
0x 6c 69 79 75 65 63 68 75 6e
是一个十六进制的整数,它的二进制码是