BLOG ARTICLE 유니코드 | 1 ARTICLE FOUND

  1. 2007.01.04 유니코드

유니코드

programming/API 2007. 1. 4. 12:11
유니코드는 16비트의 단일한 값으로 지구상의 모든 문자를 표현할 수 있는 문자 코드 체계

C 타입           |        유니코드 타입
---------------------------------
char              |        TCHAR
char *            |        LPSTR
const char *   |        LPCTSRT

TCHAR는 C의 기본 타입 중 하나인 char과 일단 같지만 유니코드로 컴파일할 때는 wchar_t타입이 됨
wchar_t는 실제로 unsigned short로 정의되어 있으며 부호없는 16비트 정수형

TCHAR 타입의 실제 정의문은 다음과 같이 조건부 컴파일문으로 작성되어 있다.
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif

문자가 필요할시는 TCHAR로 문자열이 필요할 때는 LPSTR 또는 TCHAR *를 쓰는 것이 현명함

문자열처리 함수들도 C의 표준 함수를 쓰지 말고 가급적 유니코드를 인식하는 함수를 사용할 것

C 표준함수          |            유니코드 지원 함수
------------------------------------------
strlen                  |            lstrlen
strcpy                 |            lstrcpy
strcat                  |            lstrcat
strcmp                 |           lstrcmp
sprintf                  |           wsprintf

문자열 상수도 타입이 있으므로 겹 따옴표안에 바로 문자열 상수를 쓰지 말고
TEXT 매크로로 둘러싸는 것이 좋다.
TEXT 매크로는 유니코드 설정에 따라 문자열 상수의 타입을 변경한다.
AND