01 윈도우즈에서의 유니코드
아스키코드 : 미국에서 정의하고 있는 표준이다 1바이트로 표현됨(알파벳 + 확장문자)
유니코드 : 2바이트로 표현되는 여러 문자들을 표현하기위한 문자셋
문자셋 : 약속된 문자의 표현방법 SBCS(문자표현에 1바이트),MBCS(1바이트로되면 1바이트 안되면 2바이트),WBCS(모든 문자를 2바이트로 처리)
WBCS 기반의 프로그래밍
char를 대신하느 wchar_t : char형 변수는 1바이트 메모리 공간만 할당되지만,wchar_t형 변수는 2바이트 메모리 공간이 할당됨
"ABC"를 대신하는 L"ABC" : 문자열 앞에 선언된 문자 L은 "이어서 등장하는 문자열은 유니코드 기반으로 표현하라"는 의미를 지닌다 유니코드에서는 문자열의 끝을 의미하는 널 문자까지도 2바이트로 처리된다.ㅠ
핵심 요약
2.유니코드 기반 문자열 처리 함수 : ANSI표준 문자열 처리 함수는 별도로 유니코드 기반을 정의하고 있다 . 이들을 사용해서 유니코드 기반으로 프로그램을 작성할 수 있어야 한다.
3.UNICODE와 _UNICODE : 매크로 UNICODE와 _UNICODE의 정의 유우에 따라서 함수의 선언형태가 달라진다. 이 두 매크로를 기반으로 유니코드 방식과 MBCS 방식의 컴파일이 가능하도록 프로그램을 작성할 수 있어야 한다.
4.유니코드 방식과 MBCS 방식을 모두 지원하기 위한 main 함수의 구성 : MBCS 방식을 지원하기 위해서 main이 존재한다면, 유니코드 방식을 지원하기 위해서 wmain이 존재한다. 그리고 이두 가지 방식을 모두 지원하기 위해서 _tmain이 존재한다. 이들의 관계를 이해하고,선언된 형태에 따라서 전달되는 문자열이 어떻게 구성되는지 확인하자.