-
유니코드 -> 멀티바이트 : WideCharToMultiByte()
멀티바이트 -> 유니코드 : MultiByteToWideChar()
자세한 내용은 MSDN을 참고하고 일반적으로 사용하는것은 다음과 같이 하면 된다.
[유니코드 -> 멀티바이트]
WCHAR *strWC = _T("abcde");
CHAR strMB[1024];
WideCharToMultiByte( CP_ACP, 0, strWC, -1, strMB, 1024, NULL, NULL );
유니코드 문자열인 strWC의 내용이 멀티바이트 문자열로 strMB에 들어간다.
함수의 4번째 인자에는 변환할 문자열 길이가 들어가는데 -1로 하게 되면 원본(strWC)문자열에서 NULL문자가 나오는 곳까지 모두 변환하게 된다. 함수의 5번째 인자는 변환해서 들어갈 대상 문자열의 길이이다.
[멀티바이트->유니코드]
CHAR *strMB = "abcde";
WCHAR strWC[1024];
MultiByteToWideChar( CP_ACP, 0, strMB, -1, strWC, 1024 );