如何在vb.net中将十六进制转换为char

时间:2017-09-07 08:28:17

标签: vb.net

我可以从字节转换为十六进制,但是我有从hex转换为char的问题。

在我的代码下面,从字节转换为十六进制:

 Dim RXByte As Byte
    Do
        RXCnt = 0
        Do
            RXByte = COMPort.ReadByte
            RXArray(RXCnt) = LookUpTable(RXByte >> 4) 
            RXCnt = RXCnt + 1
            RXArray(RXCnt) = LookUpTable(RXByte And 15)
            RXCnt = RXCnt + 1
            RXArray(RXCnt) = " "
            RXCnt = RXCnt + 1
            SpaceCount = (SpaceCount + 1) And 31     
            If SpaceCount = 0 Then                    
                RXArray(RXCnt) = Chr(13) ' CR
                RXCnt = RXCnt + 1
                RXArray(RXCnt) = Chr(10) ' LF
                RXCnt = RXCnt + 1
            Else
                If (SpaceCount And 3) = 0 Then       
                    RXArray(RXCnt) = " "
                    RXCnt = RXCnt + 1
                    RXArray(RXCnt) = " "
                    RXCnt = RXCnt + 1
                End If
            End If
        Loop Until (COMPort.BytesToRead = 0)
        '----- End of communication protocol handling -------------------------------------------------------------
        Me.Invoke(New MethodInvoker(AddressOf Display)) 
    Loop Until (COMPort.BytesToRead = 0) 

1 个答案:

答案 0 :(得分:0)

您不需要查找表。只需使用内置函数将字节转换为字符串。

    b = 245
    s = b.ToString("X")

其中一些功能恰恰相反。

    s = "F4"
    b = Convert.ToByte(s, 16)

我还建议您使用字符串构建器而不是您正在使用的数组。