티스토리 뷰
■ byte배열(물론 사이즈는 4)을 int로 바꾸는 메소드
1 2 3 4 5 6 7 8 | public static int byte2Int(byte[] src) { int s1 = src[0] & 0xFF; int s2 = src[1] & 0xFF; int s3 = src[2] & 0xFF; int s4 = src[3] & 0xFF; return ((s1 << 24) + (s2 << 16) + (s3 << 8) + (s4 << 0));} |
■ long을 byte배열(물론 사이즈는 8)로 바꾸는 메소드
1 2 3 4 5 6 7 8 9 10 11 12 13 | public static byte[] long2Bytes(long l) { byte[] buf = new byte[8]; buf[0] = (byte)( (l >>> 56) & 0xFF ); buf[1] = (byte)( (l >>> 48) & 0xFF ); buf[2] = (byte)( (l >>> 40) & 0xFF ); buf[3] = (byte)( (l >>> 32) & 0xFF ); buf[4] = (byte)( (l >>> 24) & 0xFF ); buf[5] = (byte)( (l >>> 16) & 0xFF ); buf[6] = (byte)( (l >>> 8) & 0xFF ); buf[7] = (byte)( (l >>> 0) & 0xFF ); return buf;} |
■ 이건 또 다른 방식입니다. 위에 것이랑 거의 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | byte[] intToByte = new byte[4]; int a = 132; System.out.println("int를 byte 배열로 바꾼다."); intToByte[0] |= (byte)((a&0xFF000000)>>24); intToByte[1] |= (byte)((a&0xFF0000)>>16); intToByte[2] |= (byte)((a&0xFF00)>>8); intToByte[3] |= (byte)(a&0xFF); System.out.println("byte 배열을 int로 바꾼다"); int result = 0; result |= (intToByte[0] & (int)0xFF)<<24; result |= (intToByte[1] & (int)0xFF)<<16; result |= (intToByte[2] & (int)0xFF)<<8; result |= (intToByte[3] & (int)0xFF); System.out.println("byte To Int is "+ result ); |
■ 16진수(Hex)로 된 Byte[] -> int로 변환하는 함수
1 2 3 4 5 6 7 8 9 10 11 12 | byte[] hexbyte = new byte[3]; StringBuffer sb = new StringBufffer(hexbyte.length * 2);String hexaDecimal; for(int x = 0; x < hexbyte.length; x++){ hexaDecimal = "0" + Intege.toHexString(0xff & hexbyte[x]); sb.append(hexaDecimal.substring(hexaDecimal.length()-2));} int decimal = Integer.parseInt(sb.toString(), 16); |
'개발 > 개발 자료' 카테고리의 다른 글
| 구글 플레이 알파, 베타 테스팅 기능 추가 (0) | 2013.09.30 |
|---|---|
| [Android] 내 어플에 비밀번호 설정하기 (2) | 2013.09.29 |
| [Cocos2d-x] CCMenu 사용하기 (0) | 2013.09.26 |
| [Android] 이미지 암호화 열었을때 해독불가능하게하기 (0) | 2013.09.19 |
| [OpenCV] 안드로이드 환경세팅 (0) | 2013.09.17 |
댓글
