1. 싱글 바이트 문자 셋
- SBCS(Single Byte Character Set)
- 한 글자를 표현하기 위한 1 바이트 문자코드 집합(128개 알파벳, 기호, 숫자만 표현 가능)
- 대표적으로 아스키(Ascii) 문자 셋이 있음
2. 멀티 바이트 문자 셋
- MBCS(Multi Byte Character Set)
- 한 글자를 표현하기 위해 1 바이트 이상을 사용하는 문자코드 집합(한국의 경우 KS X 1003, 일본의 경우 JIS X 0201 문자코드 사용)
- 대표적으로 EUC-KR (한글 완성형), EUC-JP(일본 완성형), EUC-CN(중국), CP949 (한글 완성형) 등이 있음
3. 와이드 바이트 문자 셋
- WBCS(Wide Byte Character Set, UNICODE)
- 전세계 모든 한 글자를 표현하기 위한 2 바이트 다국어 문자코드(BMP: Basic Multilingual Plane, SMP, SIP, TIP, SSP 등) 집합
- 대표적으로 국제표준 UTF-8 (조성, 중성, 종성을 구분하는 한글 조합형), UTF-16, UTF-32 문자 셋 등이 있음
- 유니코드로 문자열을 출력하기 위해서는 _wsetlocale(LC_ALL, L"국가언어") 함수로 언어선택 필수, #include<locale.h> 헤더파일 추가
※ 다국어 처리 프로그램 개발시 문자인코딩 Tip
(1) Visual Studio 프로젝트 문자셋을 멀티 바이트 문자 셋으로 설정
(2) MultiByte 코드 문자열 => WideByte 코드(UNICODE) 문자열 변환
(3) WideByte 코드 문자열을 가지고 프로그램 로직 처리
(4) WideByte 코드(UNICODE) 문자열 => MultiByte 코드 문자열 변환
(5) 외부 출력 및 네트워크 결과 전송시 MultiByte 코드 문자열 사용
※ 참고자료 출처: http://kaludin.egloos.com/v/2585587
※ 참고자료 출처: http://blog.eairship.kr/217
※ EUC-KR에서 알파벳 한 글자는 1 Byte 이며, 한글, 한자, 일어 한 글자는 2 Bytes 사용
※ UTF-8에서 알파벳 한 글자는 1 Byte 이며, 한글, 한자, 일어 한 글자는 3 Bytes 사용
※ WideCharToMultiByte() function
- CP_ACP : Windows ANSI Code Page
- CP_UTF8: UTF-8
'IT지식' 카테고리의 다른 글
Agile 개발 방법론 (0) | 2016.05.02 |
---|---|
REST API 개념 (0) | 2016.05.01 |
트래픽(Traffic) 이란? (0) | 2015.04.05 |
스트리밍 서버(RTSP/RTP/RTMP)란? (0) | 2015.04.03 |
Latency 란? (0) | 2015.02.26 |