Как прочитать данные шестнадцатеричного формата с устройства? - PullRequest
1 голос
/ 09 марта 2012

Может ли кто-нибудь объяснить, как читать данные с устройства с помощью программирования сокетов. Устройство отправляет данные в формате Hexa, поэтому я не могу прочитать эти данные, пожалуйста, помогите мне, как это сделать.

StringBuffer instr = null;
instr = new StringBuffer();
buf = new byte[4096];
int br = socket.getInputStream().read(buf);
for(int i =0;i<br;i++){
            instr.append((char) buf[i]);

            }
data = instr.toString();

Я использую приведенный выше код, поэтому, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 09 марта 2012

Вы можете попробовать этот фрагмент кода

public String convertHexToString(String hex){

          StringBuilder sb = new StringBuilder();
          StringBuilder temp = new StringBuilder();

          //49204c6f7665204a617661 split into two characters 49, 20, 4c...
          for( int i=0; i<hex.length()-1; i+=2 ){

              //grab the hex in pairs
              String output = hex.substring(i, (i + 2));
              //convert hex to decimal
              int decimal = Integer.parseInt(output, 16);
              //convert the decimal to character
              sb.append((char)decimal);

              temp.append(decimal);
          }
          System.out.println("Decimal : " + temp.toString());

          return sb.toString();
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...