본문 바로가기
반응형

멀티바이트3

[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 [개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%S", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%.. 2015. 10. 6.
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%s", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%s", "문자열" ); 변환될 문자열을 %s(대문자)로 wsprintf()함수를 사용합니다. ※ .. 2011. 2. 8.
[VC++] VC++ 문자 Encoding 방식 싱글바이트캐릭터 SBCS (Single-byte character set) 한 문자 표현에 1Byte를 사용하는 방식이다. 예로 ASCII 코드가 있으며, 한글이나 일본어표현은 불가능하다. 멀티바이트캐릭터 MBCS (Multi-byte character set) 한 문자 표현에 1Byte 이상을 사용하는 방식으로 Windows에서 MBCS에는 딱 두종류가 있다. SBCS와 DBCS( Double-byte character set) 결국 많아봐야 최대 2Byte라는 얘기다. 한글이나 일본어가 처리되는 기본 방식이다. 즉, printf( “안녕하삼” ); std::cout Data type SBCS/MBCS char : 일반적인 1Byte 문자형 char를 사용해서 표현 Unicode wchar_t : wi.. 2010. 9. 30.
반응형