개요
Little-Endian, Big-Endian
바이트오더는 Little-Endian과 Big-Endian으로 나뉘어진다.
Little-Endian
- intel X86계열 CPU
- AMD계열 CPU
- EDC계열 CPU
Big-Endian
- IBM
- ARM
- Motorola
Honeywell Webs8000 CPU
ARM@Cortex-a8 즉 Big-Endian을 기본으로 사용함을 알 수 있다.
<Honeywell Webs8000 CPU Spec> |
그렇다면 little-Endian을 사용하는 장비로부터 정상적인 데이터를 취득하기위해서는
바이트오더 변경이 필요하다.
Change ByteOrder in JAVA
1 2 3 4 5 6 7 8 | public static int getBigEndian(byte[] v)throws Exception{ int[] arr = new int[4]; for(int i=0;i<4;i++){ arr[i] = (int)(v[3-i] & 0xFF); } return ((arr[0] << 24) + (arr[1] << 16) + (arr[2] << 8) + (arr[3] << 0)); } | cs |
댓글 없음:
댓글 쓰기