컴퓨터/프로그래밍
UNICODE, ANSI 인코딩 변환
jungtae17
2011. 1. 27. 18:58
UNICODE 와 ANSI 문자열 사이에서 변환이 쉽지 않다.
C/C++ 에서는 간단한 함수를 제공하고 있어서 소개한다.
// STEP 0: 로케일 설정 (시스템의 기본 언어로 설정) setlocale( LC_ALL, "" ); // STEP 1: 문자 변환 // STEP 1-1 ANSI ==> UNICODE mbtowc( UNICODE 문자, ANSI 문자 ); // STEP 1-2: UNICODE ==> ANSI wctomb( ANSI 문자, UNICODE 문자 ); // STEP 2: 문자열 변환 // STEP 2-1: ANSI ==> UNICODE mbstowcs( UNICODE 문자열, ANSI 문자열, UNICODE 문자열 최대길이 ); // STEP 2-2: UNICODE ==> ANSI wcstombs( ANSI 문자열, UNICODE 문자열, ANSI 문자열 최대길이 );
UNICODE 사용 시 유용한 매크로
- _countof() 매크로 : 문자 배열의 크기(문자 개수)
- sizeof 연산자 : 문자배열의 Byte 수