因为要用到字符串
可是反回的都是Hex自己写了几个试了试都是返回乱码
例:
4e323830372e34303039324531323131332e3936313739实际是:
N2807.40092E12113.96179可是自己写的都是乱码
请大侠位给写个源码学习一下可以吗?

解决方案 »

  1.   

    依次每次取出两位,按下面进行转换:
        Dim str As String
        Dim dst As String
        str = "4e"
        str = "&h" + str
        dst = ChrW(Val(str))
      

  2.   

    Option ExplicitPrivate Sub Command1_Click()
            Dim cHex As String, S As String, HexStr As String
            Dim i As Long
            cHex = "4e323830372e34303039324531323131332e3936313739"
               
            For i = 1 To Len(cHex) Step 2
                S = "&H" & Mid$(cHex, i, 2)
                HexStr = HexStr & Chr$(CLng(S))
            Next        Debug.Print HexStr
    End Sub
      

  3.   


    Option ExplicitPrivate Sub Command1_Click()
        Dim byteHEX() As Byte
        Dim strP As String
        Dim intP As Integer
        strP = Text1.Text
        intP = Len(strP)
        If intP Mod 2 <> 0 Then strP = "0" & strP   '如果字符串长度不识偶数,那么补成偶数
        intP = intP / 2
        ReDim byteHEX(intP)
        Text2.Text = ""
        For intP = LBound(byteHEX) To UBound(byteHEX)
            byteHEX(intP) = Val("&H" & Mid(strP, intP * 2 + 1, 2))
            Text2.Text = Text2.Text & Chr(byteHEX(intP))
        Next intP
    End SubPrivate Sub Form_Load()
        Text1.Text = "4E323830372E34303039324531323131332E3936313739"   '十六进制
        Text2.Text = "" 'ASCII
    End Sub
      

  4.   

    这 我没用vb写过,就是要写一个for?
    先把串写到一个数组里,然后每次取两个?
    有没有能给个样子的?真不知道vb的语法哩