- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[JAVA] 16진수 문자열을 byte 배열로 변환 (혹은 그 역)하는 자바 코드 본문
16진수 문자열 (Hex String)을 byte 배열로 변환하거나,
byte 배열을 16진수 문자열로 변환하는 자바 코드는 다음과 같다.
public class HexTest {
public static byte[] hexToBytes(String hex) {
byte[] result = null;
if (hex != null) {
result = new byte[hex.length() / 2];
for (int i = 0; i < result.length; i++) {
result[i] = (byte) Integer.parseInt(hex.substring(2 * i, 2 * i + 2), 16);
}
}
return result;
}
public static String asHex(byte[] bytes) {
StringBuffer sb = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
if (((int) bytes[i] & 0xff) < 0x10) {
sb.append('0');
}
sb.append(Integer.toString(bytes[i] & 0xff, 16));
}
return sb.toString();
}
public static void main(String[] args) {
String hex = "0123456789ABCDEF";
byte[] bytes = hexToBytes(hex);
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]);
}
System.out.println(asHex(bytes));
}
}
결과는 다음과 같다.
1
35
69
103
-119
-85
-51
-17
0123456789abcdef
Reference:
http://stufftohelpyouout.blogspot.com/2008/10/hex-operations-in-java-convert-byte.html
'★─Programing > ☆─JAVA' 카테고리의 다른 글
[JAVA] 자바 IO와 NIO의 차이점 (0) | 2013.06.25 |
---|---|
[JAVA] 자바에서 메모리 초기화(memset)하는 법 (0) | 2013.06.25 |
[JAVA] InputStream 은 2번 읽을 수 없다. (0) | 2013.06.04 |
[JAVA] File.createNewFile() 호출시 발생하는 InvalidArgumentException (0) | 2013.06.04 |
[JAVA] 자바 정규식 특수문자 (1) | 2013.06.04 |