굥뷰를 햡시댜

Ansi에서 Unicode 변환, Unicode에서 Ansi 변환 본문

언어/WTL(Window Template Library)

Ansi에서 Unicode 변환, Unicode에서 Ansi 변환

GodZ 2020. 2. 14. 11:08

 - A2T(), T2A()

 

Visual Studio를 사용해 한글을 출력할 때 한글 문자가 깨지는 경우가 있다. 이것은 기본적으로 Visual Studio에서 프로젝트를 생성할 때 Ansi(미국 국립 표준 뭐더라.. 아무튼 구글에 검색하면 나옴) 기반으로 프로젝트가 생성되기 때문이다. 이 때 한글 문자는 깨지게 되며 우리는 이를 방지하기 위해 컴퓨터에서 모든 문자를 지원해주는 Unicode를 사용해야 한다.

 

물론, 프로젝트를 생성할 때 설정 자체를 바꾸는 방법도 있지만 내부 메소드를 사용해 이를 막을 수 있다. 그 메소드가 바로 A2T() 이다.

 

사용 방법은 간단하다.

 

1. #include <atlbase.h> 헤더를 추가한다.

 

2. 유니코드를 사용하려는 메소드 내부에 USES_CONVERSION;을 선언한다.

 

3. A2T()를 사용한다.

 

예시)

 

#include <atlbase.h>

 

//Ansi to Unicode

void AnsiToUnicode() {
    USES_CONVERSION;

    CString strTemp;

    strTemp = A2T((char*)str);
}

 

//Unicode to Ansi

void UnicodeToAnsi() {
    USES_CONVERSION;

    CString strTemp;

    strTemp = T2A((TCHAR*)str);
}

'언어 > WTL(Window Template Library)' 카테고리의 다른 글

WTL 클래스, 메소드 정리  (0) 2020.02.03
Comments