dim str as string,byt(6) as Byte
str="ffffffffffff"如何将str中的值存放到byt数组中?

解决方案 »

  1.   

    引用window api最简单,引入memcpymemcpy byt,str,len(str)
      

  2.   

    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
      

  3.   


    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
      

  4.   

    你是将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
      

  5.   

    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
      

  6.   

    应该是楼主表达不明,是要把str变量里的值当作是数值,然后再用字节数组保存,还是,把str变量里的值用字节数组保存?
    所以,才出现上面大约是两类的转换方法