Server/C++

문자집합과 인코딩

Juzdalua 2024. 8. 19. 16:22

 

문자집합

- 문자와 숫자가 대응하는 규약

ex) ASCII Code, Unicode

 

인코딩

- 문자집합을 다른 방식으로 변환하는 개념

ex) CP949, UTF-8, UTF-16


Multi Byte Character Set

- char

- UTF-8

 

Wide Byte Character Set

- WCHAR

- UTF-16


#include <tchar.h> // TCHAR

// CP949 = KS-X-1001 (한글 2바이트) + KS-X-1003 (로마 1바이트)
char ch1[1000] = "가";

// UTF-8 = Unicode (한글 3바이트 + 로마 1바이트)
char ch2[1000] = u8"가";

// UTF-16 = Unicode (한글/로마 2바이트)
WCHAR ch4[1000] = L"가";

// 프로젝트 설정에 따라 정해지는 타입
TCHAR ch4[1000] = _T("가");

 

Unicode를 대중적으로 사용한다.

영어 서비스가 주를 이룬다면 UTF-8, 한국어 서비스가 주를 이룬다면 UTF-16이 메모리상 효율적이다.


TCHAR 설정

유니코드 문자 집합 사용 -> TCHAR = WCHAR

멀티바이트 문자 집합 사용 -> TCHAR = char