请问有哪位高手能够提供将字符串读取为二进制码的方法?多谢了!

解决方案 »

  1.   

    Dim strMystr As String
        strMystr = "abcdefg"
        Dim bytMyByte() As Byte
        Dim n As Long
        ReDim bytMyByte(Len(strMystr) - 1)
        For n = 1 To Len(strMystr)
            bytMyByte(n - 1) = CLng(Asc(Mid(strMystr, n, 1)))
        Next n
      

  2.   

    Public Function HexToStr(ByRef Source() As Byte, ByVal SourceLong As Long) As String  '字节数组到字符串
      Dim i As Long
      Dim TempD As Byte
      For i = 0 To SourceLong - 1
          TempD = Fix(Source(i) / 16)
          HexToStr = HexToStr + Chr((IIf(TempD > 9, TempD + &H40 - 9, TempD + &H30)))
          TempD = Source(i) Mod 16
          HexToStr = HexToStr + Chr((IIf(TempD > 9, TempD + &H40 - 9, TempD + &H30)))
          HexToStr = HexToStr + " "
      Next
    End Function
    Public Function ByteToStr(ByRef Source As Byte) As String  '字节到字符串
      Dim i As Long
      Dim TempD As Byte
          TempD = Fix(Source / 16)
          ByteToStr = ByteToStr + Chr((IIf(TempD > 9, TempD + &H40 - 9, TempD + &H30)))
          TempD = Source Mod 16
          ByteToStr = ByteToStr + Chr((IIf(TempD > 9, TempD + &H40 - 9, TempD + &H30)))
    End FunctionPublic Function StrToByte(ByRef NumStr As String) As Byte  '字符串到字节
           Dim TempD As Byte
           
           TempD = Asc(Mid(NumStr, 1, 1))
           If TempD - Asc("A") >= 0 And TempD - Asc("A") < 6 Then StrToByte = (TempD - Asc("A") + 10) * 16
           If TempD - Asc("0") >= 0 And TempD - Asc("0") <= 9 Then StrToByte = (TempD - Asc("0")) * 16
           TempD = Asc(Mid(NumStr, 2, 1))
           If TempD - Asc("A") >= 0 And TempD - Asc("A") < 6 Then StrToByte = StrToByte + (TempD - Asc("A") + 10)
           If TempD - Asc("0") >= 0 And TempD - Asc("0") <= 9 Then StrToByte = StrToByte + (TempD - Asc("0"))
           
    End Function