您的位置:首页 > 编程语言 > Qt开发

QTP的那些事--二进制和字符串的相互转换

2012-03-26 13:13 316 查看
ascw表示对于unicode字符转化二进制的处理 '字符串转成二进制
Public Function StringToBinary(ByVal VarString As String) As Variant
Dim strBin As Variant
Dim varchar As String
Dim varasc As Long
Dim varlow, varhigh
Dim i As Long
strBin = " "
For i = 1 To Len(VarString)
varchar = Mid(VarString, i, 1)
varasc = Asc(varchar)
If varasc < 0 Then
varasc = varasc + 65535
End If
If varasc > 255 Then
varlow = Left(Hex(Asc(varchar)), 2)
varhigh = Right(Hex(Asc(varchar)), 2)
strBin = strBin & ChrB( "&H " & varlow) & ChrB( "&H " & varhigh)
Else
strBin = strBin & ChrB(AscB(varchar))
End If
Next
StringToBinary = strBin
End Function
'========================================================================
'二进制转换为字符串
Public Function BinaryToString(ByVal BinaryStr As Variant) As String
Dim lnglen As Long
Dim tmpBin As Variant
Dim strC As String
Dim skipflag As Long
Dim i As Long
skipflag = 0
strC = " "
If Not IsNull(BinaryStr) Then
lnglen = LenB(BinaryStr)
For i = 1 To lnglen
If skipflag = 0 Then
tmpBin = MidB(BinaryStr, i, 1)
If AscB(tmpBin) > 127 Then
strC = strC & Chr(AscW(MidB(BinaryStr, i + 1, 1) & tmpBin))
skipflag = 1
Else
strC = strC & Chr(AscB(tmpBin))
End If
Else
skipflag = 0
End If
Next
End If
BinaryToString = strC
End Function

*************************************************************************************************

方法二:

Function getByteString(StringStr)
Dim i,char
For i=1 to Len(StringStr)
char=Mid(StringStr,i,1)
getByteString=getByteString&chrB(AscB(char))
Next
End Function
Function getString(StringBin)
Dim i
getString= " "
For i=1 to LenB(StringBin)
getString=getString&chr(AscB(MidB(StringBin,i,1)))
Next
End Function **************************************************************************************************** 方法三:测试可用 Public Function StringToBinary(ByVal VarString As String) As Variant
Dim b() As Byte, strBin As String, i As Integer
b = StrConv(VarString, vbUnicode)
For i = 0 To UBound(b)
strBin = strBin & ChrB(b(i))
Next
StringToBinary = strBin
End Function
Public Function BinaryToString(ByVal BinaryStr As Variant) As String
Dim b() As Byte, i As Integer
ReDim b(1 To LenB(BinaryStr))
For i = 1 To LenB(BinaryStr)
b(i) = AscB(MidB(BinaryStr, i, 1))
Next
BinaryToString = StrConv(b, vbFromUnicode)
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: