CByte 函数示例
本示例使用 CByte 函数将一表达式转成 Byte。Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble 为Double(双精度)。
MyByte = CByte(MyDouble) ' MyByte 值为 126。
本示例使用 CByte 函数将一表达式转成 Byte。Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble 为Double(双精度)。
MyByte = CByte(MyDouble) ' MyByte 值为 126。
Dim mbyte
a = "aaa"
mbyte = CByte(AscW(a))
dim S as Strings="aaa"
b=s这样子就行了(Unicode)。
我本来看过一个邮件加密算法,记得里面用到了一些东西,那个算法叫UUencode,但是没记全,有一段源程序的话会非常好的,我这里只有解密的一部分,原理是把得到的字符按三个一组,每个8位分成4个前面为00的8位二进制,若得到为0000则加60H,否则加20H
Private Sub Encodebyte(mInbyte() As Byte, mOutByte() As Byte)
Dim tByte() As Byte
Dim i As Integer
tByte = mInbyte(0) And &HFC
mOutByte(0) = tByte / 4
tByte = ((mInbyte(0) And &H3) * 16) + (mInbyte(1) And &HF0) / 16
mOutByte(1) = tByte
tByte = ((mInbyte(1) And &HF) * 4) + (mInbyte(2) And &HC0) / 64
mOutByte(2) = tByte
tByte = (mInbyte(3) And &H3F)
mOutByte(3) = tByte
For i = 1 To 3
If mOutByte(i) = 0 Then
mOutByte(i) = &H60
Else
mOutByte(i) = mOutByte(i) + &H20
End If
Next i
End Sub
Dim S As String
S = "AAA"
B = S
MsgBox UBound(B)
End Sub
那是什么东东,能不能再解释一下。
dim a as string
a="1328902349-32-0"
k=a
dim cst as string
dim byt () as Byte
dim i as integercst = "hello"
redim byt (lenB(cst))for i = 1 to lenB(cst)
byt(i) = MidB(cst, 1, 1)
next i
MidB(cst, 1, 1)改成MidB(cst, i, 1)
MsgBox UBound(B)
这样子就显示出了B的下标了。
这是为了证明代码的正确性。因为VB中的字符串是UNICODE,所以每个字都占两个字节,
因为上面中的S="AAA"为三个字,所以就占六个字节(0-5)B()的下标为5表明操作正确。
当然。你完全不需要这一行。
而使用下面的函数:Function Str2ByteAry(ByVal Str As String) As Byte() Str2ByteAry = Str
End Function
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Dim s As String
Dim b(100) As Byte
s = "abcd中ab"
Call CopyMemory(b(0), ByVal s, lstrlen(s))