Private Sub Command1_Click() Dim str As String, byt(1 To 6) As Byte str = "ffffffffffff" Dim i As Long, j As Long For i = 1 To Len(str) Step 2 j = j + 1 byt(j) = CByte("&H" & Mid(str, i, 2)) Next
'检验结果 For i = 1 To 6 Debug.Print Hex(byt(i)); " "; Next End Sub
Private Sub Command1_Click() Dim sTemp As String sTemp = "如何将str中的值存放到byt数组中?" ' Dim yTemp() As Byte yTemp = StrConv(sTemp, vbFromUnicode) Dim i As Integer For i = 0 To UBound(yTemp) Print yTemp(i) Next End Sub
你是将16进制字符串转BYTE数组Private Sub Command1_Click() Dim str As String Dim byt(1 To 6) As Byte str = "ffffffffffff" Dim i As Integer For i = 1 To Len(str) Step 2 byt((i + 1) / 2) = Val("&H" & Mid(str, i, 2)) Print byt((i + 1) / 2) Next End Sub
str的字符有12个,作为十六进制有6个数,所以数组byt定义成byt(5)就行,0~5一共六个. Dim str As String, byt(5) As Byte,i As Integer str = "ffffffffffff" For i = 0 To 5 byt(i) = Val("&H" & (Mid(str, (i * 2) + 1, 2)))'//将两个为一十六进数,转换成十进制数 Debug.Print byt(i)'//验证 Next
Dim str As String, byt(1 To 6) As Byte
str = "ffffffffffff"
Dim i As Long, j As Long
For i = 1 To Len(str) Step 2
j = j + 1
byt(j) = CByte("&H" & Mid(str, i, 2))
Next
'检验结果
For i = 1 To 6
Debug.Print Hex(byt(i)); " ";
Next
End Sub
Private Sub Command1_Click()
Dim sTemp As String
sTemp = "如何将str中的值存放到byt数组中?" '
Dim yTemp() As Byte
yTemp = StrConv(sTemp, vbFromUnicode)
Dim i As Integer
For i = 0 To UBound(yTemp)
Print yTemp(i)
Next
End Sub
Dim str As String
Dim byt(1 To 6) As Byte
str = "ffffffffffff"
Dim i As Integer
For i = 1 To Len(str) Step 2
byt((i + 1) / 2) = Val("&H" & Mid(str, i, 2))
Print byt((i + 1) / 2)
Next
End Sub
str = "ffffffffffff"
For i = 0 To 5
byt(i) = Val("&H" & (Mid(str, (i * 2) + 1, 2)))'//将两个为一十六进数,转换成十进制数
Debug.Print byt(i)'//验证
Next
所以,才出现上面大约是两类的转换方法