본문 바로가기
개발 이야기/자바

[JAVA, Android] StringBuilder를 이용하여 Byte를 Hex로 표시하기

by 런던살자 2018. 12. 7.

안녕하세요 마블랑입니다.


마블랑은 가끔 주 업무와는 별도로 안드로이드 개발을 할때가 있습니다.


안드로이드는 가끔 강의할때 들은거 말고는 실무에서는 거의 해본적이 없어 많이 배우며 하고 있습니다.


그러다 가끔 에러가 발생할때 로우데이터를 보고 싶은데 어떻게 볼지몰라 애를 먹었죠..


안드로이드는 로그를 찍으면 나오긴 하지만 보기 어려운 정수값으로 나와 많이 불편했습니다.(정수보다 Hex가 보기 편하다니 어느새 개발자가 다되었군요..)


그래서 자바에서 Byte의 값을 Hex로 볼수있는 방법에 대해서 알아봤습니다 



많은 방법이 있었지만 다른 곳의 예제를 보니 모두 함수를 만들더군요


마블랑은 코드라인을 늘리기 싫어 다른방법으로 알아봤답니다.


바로 StringBuilder 라는 클래스를 이용하는 것인데요 다음과 같이 사용하면 될거 같습니다.



StringBuilder sb = new StringBuilder();

for(final byte b: a){

sb.append(String.format("0x%02x ", b&0xff));

}

sb.toString();


Hex로 나타낼수도 있지만 다른 방법으로 응용해서 정수값 등 여러가지 형태로 나타낼수도 있습니다.


또한 StringBuilder의 다른 사용법은 문자열을 추가하는 기능도 있습니다.


예를 들어 

StringBuilder sb = new StringBuilder();

sb.append("abcd");

sb.append("1234");

sb.toString();


이런 구문을 실행하면


sb에는 abcd1234라는 문자열이 들어가게 됩니다.



자바와 안드로이드에는 좀 미숙하여 잘못된 부분이 있으면 댓글을 달아주세요~


읽어주셔서 고맙습니다.


이상 마블랑이었습니다.



댓글