如何将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去除,但是有没有更好的方法。
调试欢乐多
redim bytearr(len(cstr("你的变量")))
bytearr()=strconv("你的变量",vbFromUnion)
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有点牛刀杀鸡。对于很长的字符串倒是可以一试。
Dim mybyte() As Byte
Dim mystring As StringReDim mybyte(LenB(StrConv(mystring, vbFromUnicode)) - 1)
mybyte = StrConv(mystring, vbFromUnicode)
对于 single类型的了?
还有,用copymemory再vc中好用vb中这么用,这么取一个变量的地址啊,特别是对于int型,single型等。
对于 single类型的了?
还有,用copymemory再vc中好用vb中这么用,这么取一个变量的地址啊,特别是对于int型,single型等。