유니코드와 멀티 바이트 문자 (MBCS) 지원 설정

예를 들어, 일본어 및 중국어 언어 큰 문자 집합에 있습니다.이러한 시장에 대 한 프로그래밍을 지원 하기 위해 Microsoft Foundation 클래스 라이브러리 (MFC) 큰 문자 집합을 처리 하는 두 가지 방법에 대해 활성화 됩니다.

  • Unicode

  • 멀티 바이트 문자 집합 (MBCS)

유니코드 문자열에 대 한 MFC 지원

전체 클래스 라이브러리는 유니코드 문자와 문자열 조건부로 활성화 됩니다.특히 클래스 CString 유니코드를 지원 합니다.

UAFXCW입니다.LIB

UAFXCW입니다.PDB

UAFXCWD입니다.LIB

UAFXCWD입니다.PDB

MFCxxU.LIB

MFCxxU.PDB

MFCxxU.DLL

MFCxxUD.LIB

MFCxxUD.PDB

MFCxxUD.DLL

MFCSxxU.LIB

MFCSxxU.PDB

MFCSxxUD.LIB

MFCSxxUD.PDB

MFCMxxU.LIB

MFCMxxU.PDB

MFCMxxU.DLL

MFCMxxUD.LIB

MFCMxxUD.PDB

MFCMxxUD.DLL

(xx ; 파일의 버전 번호를 나타냅니다. 예를 들어, '80' 버전을 8.0 있습니다.)

CString기반이 되는 TCHAR 데이터 형식.경우 기호 _UNICODE 프로그램의 빌드에 대해 정의 된 TCHAR 형식으로 정의 된 wchar_t, 16 비트 문자 인코딩 형식.그렇지 않으면 TCHAR 로 정의 char, 일반 8 비트 문자 인코딩입니다.따라서 유니코드에서의 CString 의 16 비트 문자로 구성 됩니다.유니코드 없이 형식의 문자로 된 char.

에 유니코드 프로그래밍 응용 프로그램의 전체도 합니다.

  • 사용 된 _T 매크로를 유니코드에 이식 가능한 조건에 따라 코드 리터럴 문자열.

  • 문자열을 전달할 때 여부 함수 인수에 문자 또는 바이트의 길이 필요로 주의 하십시오.차이점은 유니코드 문자열을 사용 하는 경우에 중요 합니다.

  • 노트북 버전의 C 런타임 문자열 처리 함수를 사용 합니다.

  • 문자와 문자 포인터에 대해 다음 데이터 형식을 사용 하십시오.

    • TCHAR사용 하는 char.

    • LPTSTR사용 하는 char*.

    • LPCTSTR사용 하는 const char*.CString운영자 제공 LPCTSTR 사이의 변환에 CStringLPCTSTR.

CString또한 유니코드 인식 생성자, 대입 연산자 및 비교 연산자를 제공합니다.

유니코드 프로그래밍에 대 한 관련 내용은 유니코드 항목.런타임 라이브러리 참조 휴대용 버전의 모든 문자열 처리 함수를 정의 합니다.범주를 참조 하십시오. 국제화.

MBCS 문자열에 대 한 MFC 지원

클래스 라이브러리도 멀티 바이트 문자 집합을 사용 하지만 (DBCS) 더블 바이트 문자 집합입니다.

멀티 바이트 문자 집합에서 문자 하나 또는 두 개의 바이트 수 있습니다.두 바이트인 경우 첫째 바이트 "선행 바이트" 특수는 선택 된 특정 범위에 따라 어떤 코드 페이지 사용 중입니다.전체적으로 볼 때, 리더와 "후행 바이트" 고유 문자 인코딩을 지정 합니다.

경우 기호 _MBCS 형식 프로그램의 빌드에 대해 정의 된 TCHARCString 을 기반으로, 대응 char.확인할 수 있습니다는 CString 선행 바이트 및 후행 바이트 속해 있습니다.C 런타임 라이브러리 함수에서이 확인할 수 있도록 제공 합니다.

DBCS에서 특정된 문자열 모든 싱글바이트 ANSI 문자, 모든 더블 바이트 문자 또는 둘의 조합을 포함할 수 있습니다.이러한 가능성에 문자열을 구문 분석할 때는 특별히 주의 해야 합니다.여기에 CString 개체입니다.

[!참고]

Mfc에서 유니코드 문자열 직렬화 유니코드와 MBCS 문자열을 실행 하는 응용 프로그램의 버전에 관계 없이 읽을 수 있습니다.데이터 파일은 유니코드와 MBCS 버전의 프로그램 간에 이식 가능입니다.

CString특수 "일반 텍스트" 버전의 C 런타임 함수 호출을 사용 하 여 멤버 함수 또는 유니코드 인식 기능을 사용 합니다.따라서 예를 들어, 경우는 CString 함수를 호출 합니다 일반적으로 strcmp, 해당 제네릭 텍스트 함수를 호출 합니다. _tcscmp 대신.방법에 따라 기호 _MBCS 및 _UNICODE 정의 된 _tcscmp 같이 매핑합니다.

_MBCS정의

_mbscmp

_UNICODE정의

wcscmp

어떤 기호도 정의

strcmp

[!참고]

기호 _MBCS 및 _UNICODE 상호 배타적입니다.

모든 런타임 문자열 처리 루틴에 대 한 일반 텍스트 함수 매핑을 나와 C 런타임 라이브러리 참조.특히, 국제화.

마찬가지로, CString "일반" 데이터 형식 매핑을 사용 하 여 메서드 구현 합니다.To enable both MBCS and Unicode, MFC uses TCHAR for char, LPTSTR for char*, and LPCTSTR for const char*.이러한 MBCS 나 유니코드에 대 한 올바른 매핑을 확인합니다.

참고 항목

참조

문자열 조작 (CRT)

기타 리소스

문자열 (ATL/MFC)