我可以从字节转换为十六进制,但是我有从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)
答案 0 :(得分:0)
您不需要查找表。只需使用内置函数将字节转换为字符串。
b = 245
s = b.ToString("X")
其中一些功能恰恰相反。
s = "F4"
b = Convert.ToByte(s, 16)
我还建议您使用字符串构建器而不是您正在使用的数组。