字节
Dim Value As Byte
字节是无符号 8 位数据类型。它可以表示 0 到 255 之间的整数,并且尝试存储该范围之外的值将导致运行时错误 6:Overflow
。字节是 VBA 中唯一可用的内部无符号类型。
转换为字节的转换函数是 CByte()
。对于浮点类型的强制类型转换,结果将四舍五入为最接近的整数值,并且 .5 向上舍入。
字节数组和字符串
字符串和字节数组可以通过简单的赋值相互替换(不需要转换函数)。
例如:
Sub ByteToStringAndBack()
Dim str As String
str = "Hello, World!"
Dim byt() As Byte
byt = str
Debug.Print byt(0) ' 72
Dim str2 As String
str2 = byt
Debug.Print str2 ' Hello, World!
End Sub
为了能够编码 Unicode 字符,字符串中的每个字符占用数组中的两个字节,首先是最低有效字节。例如:
Sub UnicodeExample()
Dim str As String
str = ChrW(&H2123) & "." ' Versicle character and a dot
Dim byt() As Byte
byt = str
Debug.Print byt(0), byt(1), byt(2), byt(3) ' Prints: 35,33,46,0
End Sub