如题。谢谢。

解决方案 »

  1.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim s As String, b() As Byte, i As Long
        s = "00 2F 23 45 ED"
        For i = 1 To Len(s)
            ReDim Preserve b(i) As Byte
            b(i) = Asc(Mid(s, i, 1))
        Next i
        
        For i = 1 To UBound(b)
            Debug.Print b(i)
        Next i
    End Sub
      

  2.   

    我的意思是说,转换后的array为:
    byData(0) = 00
    byData(1) = 2F
    byData(2) = 23
    byData(3) = 45
    byData(4) = ED
    ....
    除去空格。
      

  3.   

    这~~~是真的不清楚怎么写吗?如果都是空格间隔的话,你可以用split函数去拆分原先的字符串,结果是返回了类似00、2F、23这样的一个字符串型的数组,然后在想办法将2F这样16进制类型的字符串转换为数值,手里没有VB,无法测试,提供一个简单的转换的原型吧:
    function getHexValue(byval HexString as string) as integer
    dim strHex as string
    dim iLow as integer,iHi as integer
    strHex="0123456789ABCDEF"
    iHi=instr(strhex,mid$(hexstring,1,1))-1 '记不清instr怎么写了,没有VB环境
    iLow=......   '类似iHi的写法,不过是取第2格
    getHexValue=iHi*16+iLow
    end function
      

  4.   

    转成十进制应该是下面的了吧:
    byData(0) = 0
    byData(1) = 47
    byData(2) = 35
    byData(3) = 69
    byData(4) = 237这样做:Option ExplicitPrivate Sub Command1_Click()
        Dim s As String, temp() As String, b() As Byte, i As Long
        s = "00 2F 23 45 ED"
        temp() = Split(s)
        ReDim b(UBound(temp)) As Byte
        For i = 0 To UBound(temp)
            b(i) = Val("&H" & temp(i))
        Next i
        
        For i = 0 To UBound(b)
            Debug.Print b(i)
        Next i
    End Sub