프로그래밍

    Java와 C#(또는 C, C++) 통신에서 엔디안과 인코딩 처리

    C, C++, C#과 Java와 통신을 하려면 몇 가지 유의사항이 있다. 정수 타입에 대한 엔디안 처리와 인코딩을 유의해야 한다. 영문, 숫자 문자열를 주고 받을 때는 별 문제가 없지만 당연히 한글을 주고 받게 될 경우에는 utf-8이나 euc-kr로 변환을 해주어야 한다. 그리고 엔디안 처리를 유의해야 한다. C, C++, C#에서는 리틀 엔디안을 쓰지만, 자바에서는 빅 엔디안을 사용한다. C#쪽에서 빅 엔디안으로 바꿔주거나, 자바에서 리틀 엔디안으로 바꿔주면 되는데 나는 자바에서 바꾸는 쪽이 좋다고 본다. Java에서 리틀 엔디안 빅 엔디안 처리 public class Endian{ public static byte[] getLittleEndian(int v){ byte[] buf = new byte..

    JSON 에러 - Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

    JSON-LIB를 가져다 쓰는데 다음과 같은 예외가 발생하였다. Exception 내용 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException 황당했다. 내가 JSON 문법을 잘못 쓴지 알고 찾다가 뭔가 이상해짐을 알고 json-lib 공식 홈페이지에 있는 예제를 실행해보았다. 똑같은 예외가 발생하였다. 하하하하. 가만보니 예외 내용이 NoClassDefFoundError이다. 클래스를 왜 찾을 수 없을까? 설마 json-lib가 문제있는 라이브러리를 배포했을까? 그건 아니지만 json-lib 내부에서는 다른 라이브러리를 사용하고 있다. 그래서 jso..