IT지식

SBCS vs MBCS vs WBCS 문자 셋 차이점은?

Mesia 2015. 4. 6. 15:06

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