마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

자바 형변환 문의 드립니다

0 추천

현재 유저가 넣은 값을 변환을 해서 내부적으로 사용 중인 앱을 개발하고 있습니다.

근데 유저는 String으로 "A00405060B" 이런 식으로 헥사값을 넣어주는데

제가 내부적으로 위의 값을 0xA0, 0x04, 0x05로 사용해서 byte 배열로 변환을 해줘야 합니다만,

검색결과,  new java.math.BigInteger(data,16).toByteArray(); 를 사용하라고 하셔서 사용해봤는데

알 수 없는 값이 나옵니다..

혹시 다른 방법 알고 계신 분 있으시면 도움 부탁드립니다.

쮸뿌쮸뿌 (2,470 포인트) 님이 2016년 12월 13일 질문

1개의 답변

0 추천
aucd29 (218,390 포인트) 님이 2016년 12월 13일 답변
도움주셔서 감사합니다~
또 한가지 여쭤보고 싶은데, new java.math.BigInteger(data,16).toByteArray(); 이 함수를 사용하면 원래 앞에 0x00이 기본으로 붙는건가요..? 알고계시면 답변 부탁드립니다.
알려주신 사이트에서 값을 확인해 봤는데, 숫자로 된 0x02, 0x03과 같은 값은 헥사로 잘 표기가 됩니다만, 0xA0 -> 0x05으로 표기가 되는데 정확하게 잘 모르겠네요..부탁드립니다
디버깅 해보세요
String strData = "05A0";
        byte[] data = hexStringToByteArray(strData);
        String res = byteArrayToHexString(data);

        Log.d(TAG, "convert : " + res);

전 이상없이 잘 나옵니다.
...