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
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
相关文章推荐
- 二进制值和十六进制字符串相互转换的C++代码
- C#二进制与字符串之间的相互转换
- python 二进制和字符串相互转换
- erlang的汉字字符串和二进制的相互转换,并还原成汉字打印
- JAVA 字符串与二进制,十六进制 相互转换
- C#中图片、二进制与字符串的相互转换方法
- PHP二进制与字符串之间的相互转换教程
- 二进制值和十六进制字符串相互转换的C++代码
- Object-c 普通字符串、二进制、十进制、十六进制之间的相互转换
- 浅谈二进制、十进制、十六进制、字符串之间的相互转换
- PHP 字符串二进制相互转换
- (学习笔记) Java byte[]转二进制字符串,十六进制字符串的相互转换
- php源码之字符串与二进制相互转换
- [手游新项目历程]第6天-二进制值和十六进制字符串相互转换的C++代码
- PHP二进制与字符串之间的相互转换
- 新人补钙系列教程之:图片与二进制或字符串相互转换
- md5 16位二进制与32位字符串相互转换示例
- PHP二进制与字符串之间的相互转换
- 二进制值和十六进制字符串相互转换的C++代码
- Java字符串与二进制的相互转换