본문 바로가기
카테고리 없음

byte 배열 Hex String 출력

by 코딩히어로 2022. 5. 27.
728x90

안드로이드 프로젝트에서 블루투스와의 통신을 통해 수신된 byte 값이

어떻게 들어오는지 확인하기 위해서는 byte 값이 Hex String으로 출력되어야 합니다

이를 위해서 함수를 하나 만들고 인자 값으로  byte값을 제공한 뒤

byte를 Hex String으로 변환한 문자열을 리턴하도록 작성합니다

 

public String byteArrayToHex(byte[] a) {
    StringBuilder sb = new StringBuilder();
    for(final byte b: a)
        sb.append(String.format("%02x ", b&0xff));
    return sb.toString();
}

 

해당 함수는 byte 배열 크기만큼 for문을 통해 Hex 문자열로 변환한 뒤

append를 통해서 문자열을 완성합니다

 

byte[] arr = {0x01,0x02,0x03,0x04,0x05};

 

만약 위와같이 arr이 데이터로 수신되었을 때 해당 arr을 그대로 출력하게 되면

Hex값이 아니라 알 수 없는 문자열을 보게 됩니다

우리는 위에서 만든 함수를 통해 Hex 문자열을 리턴 받을 수 있습니다

 

Log.i("Debug", "Print Hex = " + byteArrayToHex(arr));

 

저의 경우에는 arr로 무슨값이 들어오는지 디버깅 목적으로 출력한 것이기 때문에

리턴 값을 그대로 Log.i에 대입하여 출력했습니다

해당 출력결과는 다음과 같습니다

 

Debug    Print Hex = 01 02 03 04 05

 

728x90
반응형

댓글