Dim bytA() as byte
Dim strB as string
直接给bytA赋值,可以通过,例如bytA="a"是可行的(注意,是bytA而不是bytA())。
当要查看bytA()被赋了什么值的时候可以用strB=bytA(0).但是如果定义了数组的长度,例如
Dim bytA(3) as byte
显然不可以用bytA="a",必须用bytA(n)="a"(n从0到3的任一数),给数组的元素赋值。现在问想问当没有规定数组长度的时候bytA="a"是个这个数组的第一个元素赋值吗?即只是赋值给了bytA(0)吗?
Dim strB as string
直接给bytA赋值,可以通过,例如bytA="a"是可行的(注意,是bytA而不是bytA())。
当要查看bytA()被赋了什么值的时候可以用strB=bytA(0).但是如果定义了数组的长度,例如
Dim bytA(3) as byte
显然不可以用bytA="a",必须用bytA(n)="a"(n从0到3的任一数),给数组的元素赋值。现在问想问当没有规定数组长度的时候bytA="a"是个这个数组的第一个元素赋值吗?即只是赋值给了bytA(0)吗?
Private Sub Command1_Click()
Dim ByteA() As Byte
Dim a As String
a = "Hello World"
ByteA = a
For i = 0 To UBound(ByteA) - 1
Debug.Print Chr(ByteA(i))
Next
End Sub
Private Sub Command1_Click()
Dim ByteA() As Byte
Dim a As String
Dim s As String
a = "我就测试给你看,不对吗?"
ByteA = a
For i = 0 To UBound(ByteA) - 1
Debug.Print Chr(ByteA(i))
Next
s = ByteArrayToString(ByteA, UBound(ByteA))
Debug.Print s
End Sub
Function ByteArrayToString(hex() As Byte, size As Long) As String
Dim i As Long, c As Byte
Dim str As String
str = ""
For i = 0 To size
str = str & ChrB(hex(i))
Next i
ByteArrayToString = str
End Function
我给个更简单的。而且需要的数组元素更少Dim data() As BytePrivate Sub Command1_Click()
Dim str As String
str = StrConv(data(), vbUnicode)
MsgBox str
End SubPrivate Sub Form_Load()
data = StrConv("HELLO 你好", vbFromUnicode)
End Sub