'endian'에 해당되는 글 1건

  1. 2020.11.07 java byte order 변경 메소드
Java2020. 11. 7. 12:34

 

 

java byte order를 바꿔줘야하는 경우가 많았다.

예를들어 C 애플리케이션과 tcp 통신하는 경우 같은 상황.

자바는 기본적으로 Big Endian이기때문에 변경을 해줘야 하는 상황이 생긴다.

Endian이 다르기에..

그때 내가 인터넷에서 찾아 만들어서 사용했던 메소드이다.

바이트배열과 Order를 넣어주면(1,2로 구분) 순서가 변환된 바이트배열을 얻어올 수 있다.

 

 

/**
	 * byte 순서 바꿔주는 함수
	 * 
	 * @author Administrator
	 * @param value
	 * @param Order 1과 2에따라 Little, Big Endian이 바뀐다. 1 = little, 2 = big
	 * @return byte[]
	 */
	public static byte[] changeByteOrder(byte[] value, int Order) {
		int idx = value.length;
		byte[] Temp = new byte[idx];

		if (Order == 1) {
			Temp = value;
		} else if (Order == 2) {
			for (int i = 0; i < idx; i++) {
				Temp[i] = value[idx - (i + 1)];
			}
		}

		return Temp;
	}

 

 

진짜 유용하게 써먹었다.

 

 

'Java' 카테고리의 다른 글

Unsupported major.minor version 52.0 오류 수정  (0) 2020.11.11
Map을 Json으로 - Gson  (0) 2020.11.07
Eclipse Code template 적용하기  (0) 2020.11.07
Java cacerts 인증서 추가(keytool 이용)  (0) 2020.11.06
JAVA 싱글턴 패턴  (0) 2020.11.04
Posted by 사슴영혼'-'