본문
JAVA byte[] 배열 복사/더하기
프로그래밍/Java 2018. 3. 20. 21:26
반응형
# JAVA byte[] 배열 복사/더하기
바이트 배열 복사시, System.arraycopry를 사용하면 가변의 배열 생성 때 마다, ArrayIndexOutOfBoundsException을 피하기 위한 알고리즘을 구현하기위해 골머리를 쓰게된다.
Hex String을 사용하면 정서적으로 편안해 질 수 있다.
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 | String hexString = ""; ... hexString += Hex.decode(bytevalue); ... // hex string -> byte array byte[] totalByteVale = new java.math.BigInteger(hexString, 16).toByteArray(); ... // byte -> hex string public static String decode(byte[] data) { if(data == null) return ""; int l = data.length; char[] out = new char[l << 1]; // two characters form the hex value. for (int i = 0, j = 0; i < l; i++) { out[j++] = DIGITS[(0xF0 & data[i]) >>> 4 ]; out[j++] = DIGITS[ 0x0F & data[i] ]; } return new String(out); } |
P.S.
hex string <-> byte array 변환 (http://ecogeo.tistory.com/129)
반응형
댓글