2017-09-07 7 views
0

バイトから16進数に変換できますが、16進数からcharに変換する際に問題があります。進にバイトから変換するための私のコードの下vb.netで16進数を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

[16進値をASCIIに変換する方法は?](https://stackoverflow.com/questions/14017007/how-to-convert-a-hexadecimal-value-to-ascii) – muffi

+2

バイトから16進数への変換を意味し、[どのようにこのコードに関連していますか](https://meta.stackexchange.com/q/66377/147640)?バイトは数字であり、16進数は人間が読める形式でコンピュータが必要としないものと同じ数であり、変換を行う 'Hex()'関数があります。 – GSerg

+0

16進数からvb.netの文字列に変換したい – IQBAL

答えて

0

あなたは、ルックアップテーブルを必要としません。組み込みの関数を使ってバイトを文字列に変換するだけです。

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

逆の機能があります。

また、使用しているアレイの代わりに文字列ビルダーを使用することをお勧めします。

+0

あなたは私のコーディングにそのコードを入れる方法を教えてもらえますか?ごめんなさい、最初にプログラムを作成するので、ありがとう – IQBAL

関連する問題