zoukankan      html  css  js  c++  java
  • QTP的那些事二进制和字符串的相互转换

    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

  • 相关阅读:
    nginx:安装成windows服务
    org.aspectj.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 18
    数据库中间件
    架构策略
    谈判
    设计模式 总结 常用10种
    08 状态模式 state
    07 策略模式 strategy
    06 命令模式(不用)
    05 观察者模式 Observer
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2417746.html
Copyright © 2011-2022 走看看