마이의 개발 블로그

문자집합/인코딩 - 키워드 정리 본문

개발지식/기타

문자집합/인코딩 - 키워드 정리

개발자마이 2022. 1. 18. 03:06
반응형

용어

문자집합(character set)

- 프로그래밍 언어에서 프로그램이나 데이터를 표현하기 위하여 미리 결정되어 있는 문자의 집합

인코딩(encoding, 부호화)

- 문자나 기호의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적으로 문자 부호(character code)로 변환하는 것

디코딩(decoding, 복호화)

- 인코딩 된 문자 부호(character code)를 다시 본래 문자나 기호로 표현하는 것

문자집합의 종류 - 아스키 코드, 유니코드

1. American Standard Code for Information Interchange (ASCII, 아스키)

- 초창기 American National Standards Institute (ANSI) 에서 제시한 표준 코드 체계

- 각 문자를 7비트로 표현, 총 128개의 문자 표현 가능

- 국가별 언어를 표현할 수 없다는 한계가 있음

- 아스키코드표 참고자료 : https://theasciicode.com.ar/

2. Unicode (유니코드)

- 사용중인 운영체제, 프로그램, 언어에 관계없이 문자마다 고유한 값을 제공하는 코드

- 모든 문자를 16비트로 표현하며 최대 65,536자를 표현 가능

한국어 표기를 위한 대표적인 인코딩 종류 2가지

1. EUC-KR

- 한국어 지원 문자인코딩

- 한 문자당 2바이트 사용

- 확장 유닉스 코드(Extended Unix Code, EUC) : 한중일 문자 전산화에 주로 사용되는 8비트 문자 인코딩 방식

- EUC-KR은 KS X 1001와 KS X 1003을 사용하는 8비트 문자 인코딩으로, 대표적인 한글 완성형 인코딩으로 여겨짐

- 128보다 작은 바이트에는 KS X 1003을, 128보다 크거나 같은 바이트에 KS X 1001을 배당함

2. UTF-8 (Universal Coded Character Set + Transformation Format – 8-bit)

- 다국어 지원 문자인코딩으로, EUC-KR보다 많은 수의 한국어 문자를 표현할 수 있음

- 가변 길이 문자열 (1~4바이트 / ASCII : 1바이트 / 한중일 문자 : 최소 3바이트 이상 / 한글 : 3바이트)

요약

1. 문자 집합은 인코딩을 거쳐  문자 부호로 변환되어 프로그램에서 사용되며 대표적으로 아스키코드, 유니코드가 있음

2. 초창기 제시된 아스키코드는 영어 이외의 국가별 언어를 표현할 수 없다는 한계가 있어, 유니코드가 제안됨

3. 한글 표기를 위한 유니코드의 대표적인 인코딩 방식 두 가지로는 UTF-8, EUC-KR 이 있음

  - 웹 표준으로 인식되는 UTF-8은 다국어 표현이 가능하고, 대부분 별도의 처리 없이 사용이 용이하여 선호되는 편

  - 다만, 윈도우즈의 높은 점유율 때문에 윈도우 기본 한글 인코딩 방식인 MS949(EUC-KR 기반)와의 호환성을 고려해야함

반응형
Comments