멀티 바이트와 유니 코드

코딩 지식

A, 유니 코드의 멀티 바이트

(. 1) 에서 Windows 또한 유니 코드라고는, 다양한 멀티 바이트도 좁은 바이트라고; VS 기본 유니 코드 인코딩 에서 구성 속성 항목 속성 >> >> 기존 문자 세트는 유니 코드 문자를 선택 가능 멀티 바이트 문자 세트 또는 세트

(2) 기능과 멀티 바이트 문자 스트링 타입 별의 유니 코드 버전

대부분의 매개 변수는 Win32 API 함수의 문자열을 두 가지 버전이 있습니다

멀티 바이트 버전 대신에, 함께 종료 유니 코드 버전을 대신하여, W에 종료 버전에 따라 자동으로 선택
예를 들면 : CreateEventA 예를 들면 : CreateEventW 예를 들면 : CreateEvent에

C 런타임 라이브러리는 또한 많은 유사한 기능을 가지고있다

멀티 바이트 버전 유니 코드 버전 적응 버전
strcpy를 wcscpy _tcscpy
strcat와 wcscat _tscscat
나 strlen wcslen _tcslen

두 가지 기능이있다, 그래서 두 개의 문자가있다

멀티 바이트 문자 유니 코드 문자 적응 문자
wchar_t를 TCHAR

(3) 일반 Win32에서의 문자열 유형

LPSTR, LPWSTR, LPTSTR, LPCTSTR

LP 대표 포인터를 접두사, 접미사 문자열 STR을 나타내는

LPSTR : 멀티 바이트 대신

LPWSTR : 유니 코드를 대신

LPTSTR : T 적응

LPCTSTR : C 대표 대표 적응 CONST + T

참고 : 사용 변수 유형, 이러한 적응 형 LPTSTR로, 관련 문자열은 포장) (텍스트를 사용할 필요가

    const char* str = "hello";
    const wchar_t*  wstr = L"hello";
    const TCHAR* tstr = TEXT("hello");

_T에 (4) ()

        #ifdef _UNICODE 
        #define _T(X) L ## X   //Unicode版本
        #endif

        #ifndef _UNICODE
        #define _T(X) X     //多字节版本
        #endif

(5) 유니 멀티 선택

1.Unicode 프로그램 환경 적응성, 깨진되지 않습니다 문제

2.Unicode 프로그램은 빠른 멀티 바이트 프로그램에 비해 실행됩니다. 원인 : 내부 Windows가 유니 코드를 사용하여 인코딩은 멀티 바이트 함수 매개 변수는 트랜스 코딩 후 유니 코드 함수에 넘겨됩니다

3. 배경 멀티 바이트 제어 할 수 있고, GUI 프로그램이 유니 코드를 사용하는 것이 바람직하다

추천

출처www.cnblogs.com/main404/p/12319230.html