Pure C++

유니코드와 wchar_t 의 주의점.

by Lyn posted Mar 09, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

유니코드는 어디까지나 "코드" 표일뿐 실제 저장할때는 다양한 방식으로 인코딩이 가능하다는것을 알아야 한다.

그리고 모든 인코딩 방식이 유니코드의 모든 글자를 표현 가능 한 것은 아니다.

 

 

뭐 잡설은 집어치우고..

wchar_t 엔 중대한 차이점이 있다.

즉 Windows 계열(C++Builder, Visual C++, Intel C Compiler for Windows) 에서는 wchar_t 는 2바이트이며, 이 문자열은 UCS2로 인코딩된다.

리눅스 계열(gcc) 에서는 에서는 wchar_t 는 4바이트이며, 이 문자열은 UTF-32로 인코딩 된다.

 

 

간단히 말해 이기종간 데이터를 전달할 때 byte order 문제가 생기지 않은 문자열은 인코딩이라는 문제를 껴안게 가게 된다.

유니코드 만들때 인코딩 방식도 좀 정하지 ㅜㅜ