如何将string,int,Single转换为Byte数组,比如Single变量5.678,假设内存中是&H5a &H7d &H14 &H45 , 转变为byte型的&H5a &H7d &H14 &H45。对于string型的“程序”,假设内存中是&H5a &H7d &H14 &H45 , 转变为byte型的&H5a &H7d &H14 &H45。对于int型的,可以用255去除,但是有没有更好的方法。

解决方案 »

  1.   

    dim bytearr() as byte
    redim bytearr(len(cstr("你的变量")))
    bytearr()=strconv("你的变量",vbFromUnion)
      

  2.   

    dim mybyte() as byte
    dim mystring as string
    dim i as integer
    dim sTmp as stringmystring = ".........."
    redim mybyte(lenB(strconv(mystring,vbfromunicode))-1)
    for i = 0 to ubound(mybyte)
    sTmp=hex(asc(mid(mystring,i,1)))
    if len(sTmp)=4 then
    mybyte(i) = val("&H" & left(sTmp,2))
    i=i+1
    mybyte(i) = val("&H" & right(sTmp,2))
    else
    mybyte(i) = val("&H" & sTmp)
    endif
    next i--------------------------------------
    dim myint as integer
    dim mybyte(1) as bytemyint = XXX
    mybyte(0) = myint\256        
    mybyte(1) = myint mod 256也可以使用API——CopyMemory。不过对于integer to byte有点牛刀杀鸡。对于很长的字符串倒是可以一试。
      

  3.   

    二楼方法很好,不过要这样写:
    Dim mybyte() As Byte
    Dim mystring As StringReDim mybyte(LenB(StrConv(mystring, vbFromUnicode)) - 1)
    mybyte = StrConv(mystring, vbFromUnicode)
      

  4.   

    of123() :
    对于 single类型的了?
    还有,用copymemory再vc中好用vb中这么用,这么取一个变量的地址啊,特别是对于int型,single型等。
      

  5.   

    of123() :
    对于 single类型的了?
    还有,用copymemory再vc中好用vb中这么用,这么取一个变量的地址啊,特别是对于int型,single型等。