유니코드는 어디까지나 "코드" 표일뿐 실제 저장할때는 다양한 방식으로 인코딩이 가능하다는것을 알아야 한다.
그리고 모든 인코딩 방식이 유니코드의 모든 글자를 표현 가능 한 것은 아니다.
뭐 잡설은 집어치우고..
wchar_t 엔 중대한 차이점이 있다.
즉 Windows 계열(C++Builder, Visual C++, Intel C Compiler for Windows) 에서는 wchar_t 는 2바이트이며, 이 문자열은 UCS2로 인코딩된다.
리눅스 계열(gcc) 에서는 에서는 wchar_t 는 4바이트이며, 이 문자열은 UTF-8로 인코딩 된다.
간단히 말해 이기종간 데이터를 전달할 때 byte order 문제가 생기지 않은 문자열은 인코딩이라는 문제를 껴안게 가게 된다.
유니코드 만들때 인코딩 방식도 좀 정하지 ㅜㅜ