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

2자리 바이트 앞에 0x붙이기가 가능한가요?

0 추천
64 라는 byte 수가 있다고 하면.

그앞에 바이트를 유지하며 0x를 붙여

0x64로 만드려면 어떻게 해야하나요??

 

아 그리고 10을표현 하면 a가 되는데 0a로도 만들고 싶습니다 ㅜㅜ

아무리 찾아도 안나오네요

 

알아들을 수 있게 설명 못하는 제 자신이 답답합니다 ㅜㅜ
익명사용자 님이 2015년 4월 10일 질문
2015년 4월 10일 수정

2개의 답변

0 추천
 
채택된 답변
String res = String.format("0x%02x", yourValue);

기초 항목부분이라 따로 없나 봅니다.
aucd29 (218,390 포인트) 님이 2015년 4월 10일 답변
답변 감사합니다.
0x를 붙여 String 형으로 만드는 format 은 알겠지만. 그럼 0x64가 된 값이 String형이 되고, 그값을 바이트로 ...  그러니깐 ㅜㅜ
format 후 = "0x64" (String)
원하는답 = 0x64(Byte)
인거죠. 0x를 String.format 으로 바꾸면 그 값은 String이 되는데
(byte)64에 0x가 붙은 0x64(byte)가 필요하단겁니다 ㅜㅜ
0x64(String)을 tobyte로 하면 0 따로 x 따로 6따로 4 따로인 바이트로 넘어오잖아옹 ㅜㅜ
0x64로 만드려면 어떻게 해야하나요?? <- 이 질문 자체가 오류네요

byte 면 내부적으로 0x 가 포함되어 있다고 생각하면 됩니다.
단순히 사람들이 해당 숫자를 읽기 편하게 하기 위해서 0x 라고 붙이는 것 뿐 입니다.


아 그리고 10을표현 하면 a가 되는데 0a로도 만들고 싶습니다 ㅜㅜ
이 질문 자체도 이상한 겁니다. 10 이라는건 10진수로 10인거고 16진수로는 0a 인데 0a 라는게 따로 있는게 아닙니다.  10 == 0a 인거죠 사람이 읽기 쉽게 하기 위해서 문자열 0a 표기하는 것 일 뿐입니다. 또한 이 값으로는 16진수인지 10진수 인지 중복되는 부분이  존재하기 때문에 0x 라는 16진수라는 걸 앞에 표기하는 것이구요

변환된 문자열을 다시 byte 로 바꾸는게 문제라면 http://stackoverflow.com/questions/9655181/convert-from-byte-array-to-hex-string-in-java 를 보세요
아항^^ 감사합니다.
애초에 hex를 이해못하고 있었으니 설명도 안될 수 밖에 없었네요..ㅜㅜ
기초라고 무시하면 안되겟어요 ㅜㅜ 설명감사합니다
0 추천
비슷한 질문이 최근에 몇 개 올라오던데, 단순히 앞에 '0x'만 붙이는 걸 원하는건지, 변환하는 방법을 모르겠다는건지 정확하지 않더군요.

단순히 앞에 '0x'만 붙이는거면 + 기호를 쓰던가해서 만들면되고, 아니면 byte to string, string to hex 같은 단어로 구글링하세요
쎄미 (162,410 포인트) 님이 2015년 4월 10일 답변
답변 감사합니다.
0x를 붙여 String 형으로 만드는 format 은 알겠지만. 그럼 0x64가 된 값이 String형이 되고, 그값을 바이트로 ...  그러니깐 ㅜㅜ
format 후 = "0x64" (String)
원하는답 = 0x64(Byte)
인거죠. 0x를 String.format 으로 바꾸면 그 값은 String이 되는데
(byte)64에 0x가 붙은 0x64(byte)가 필요하단겁니다 ㅜㅜ
0x64(String)을 tobyte로 하면 0 따로 x 따로 6따로 4 따로인 바이트로 넘어오잖아옹 ㅜㅜ
...