문자 집합은 컴퓨터에서 문자를 표현하는 데 사용되는 일련의 문자들의 집합. 컴퓨터에서는 다양한 문자 집합이 사용될 수 있으며, 이는 언어, 국가, 문자열의 형식 및 다양한 기타 요소에 따라 다를 수 있다.
문자 인코딩은 컴퓨터에서 문자를 표현하고 저장하는 방법을 정의하는 체계.
문자 집합에 속한 문자여도 컴퓨터는 그대로 이해할 수 가 없다. 그래서 텍스트 데이터는 컴퓨터에서 이진 숫자로 저장되며, 이를 위해 문자를 숫자로 매핑하는 방법이 필요.
문자 디코딩은 이진 데이터를 문자로 변환하는 과정. 컴퓨터에서 텍스트 데이터는 주로 이진 형태로 저장되기 때문에, 이진 데이터를 사람이 읽을 수 있는 문자 형태로 변환이 필요.
문자 인코딩은 문자를 이진 데이터로 변환하는 과정이며, 문자 디코딩은 그 반대 과정입니다. 문자 인코딩과 디코딩은 서로 대응되는 과정으로, 올바른 인코딩 방식을 사용하여 데이터를 디코딩해야 원래의 문자를 올바르게 복원이 가능하다.
아스키(ASCII) 코드는 컴퓨터에서 문자를 표현하기 위해 사용되는 표준 문자 인코딩 방식.
아스키 코드는 영문 알파벳, 숫자, 특수 문자 등을 7비트나 8비트의 이진 숫자로 표현. 각 문자에는 해당하는 고유한 숫자 값이 할당되어 있다
아스키 코드는 미국 국립표준협회(ANSI)에서 제정되었으며, 주로 영문 기반의 텍스트 데이터를 다룰 때 사용한다. 아스키 코드는 0부터 127까지의 범위에 대한 표준을 제공하며, 이 범위 내에서는 영문 알파벳 대소문자, 숫자, 특수 문자 등이 각각 고유한 숫자 값으로 매핑된다.
예를 들어, 대문자 'A'의 아스키 코드 값은 65이고, 소문자 'a'의 아스키 코드 값은 97입니다. 숫자 '0'의 아스키 코드 값은 48이고, 특수 문자 '&'의 아스키 코드 값은 38이다.
하지만, 아스키 문자 집합에 속한 문자들은 7비트로 표현하기에 128개보다 많은 문자를 표현하지 못한다. 훗날 1비트 추가된 8비트의 확장 아스키가 나왔지만 그래도 모든 문자의 수를 다루지 못한다.
EUC-KR은 한글 문자를 처리하기 위한 문자 인코딩 방식.
EUC-KR은 "Extended Unix Code-Korean"의 약자로, 주로 한국에서 사용되는 인코딩 방식이다. EUC-KR은 한글, 영문, 숫자, 특수 문자 등을 다룰 수 있다.
EUC-KR은 2바이트로 이루어진 고정 폭 인코딩 방식입니다. 한글 한 글자를 표현하기 위해 2바이트를 사용하며, 이러한 특성 때문에 EUC-KR은 영문과 숫자를 포함한 ASCII 문자와 호환이 가능하다. EUC-KR은 국제 표준이 아닌 국내 표준으로 개발되었으며, 주로 한국에서 사용하고 있다.
EUC-KR은 최대 2350자의 한글을 표현할 수 있으며, 기본적으로 한글 완성형(KSC 5601)에 따라 한글 문자를 처리. 이러한 특성으로 인해 EUC-KR은 주로 한글 텍스트 파일, 웹 페이지, 데이터베이스 등에서 사용된다
그러나 EUC-KR은 유니코드(Unicode)와 비교하여 한글 외의 다국어 처리에는 적합하지 않을 수 있다.
유니코드(Unicode)는 전 세계의 모든 문자를 표현하기 위한 국제 표준 문자 인코딩 방식이다.
문자, 숫자, 기호 등 모든 언어의 문자를 일관되게 표현할 수 있는 방법을 제공한다. 이전의 문자 인코딩 방식들은 특정 국가나 지역의 문자만을 다루는 한계가 있었지만, 유니코드는 이러한 제약을 극복하고 다양한 언어와 문자를 하나의 표준으로 통합하여 사용이 가능하다.
유니코드는 각 문자에 고유한 코드 포인트를 할당하여 문자를 식별한다. 이 코드 포인트는 16진수로 표현되며 U+로 시작합니다. 예를 들어, 영문 대문자 'A'의 코드 포인트는 U+0041이고, 한글 '가'의 코드 포인트는 U+AC00입니다.
유니코드는 다양한 문자 인코딩 형식을 지원이 가능한데, 대표적으로 UTF-8, UTF-16, UTF-32 등이 있다. 각 형식은 다른 바이트 시퀀스로 유니코드 문자를 표현하며, UTF-8은 가변 길이 인코딩 방식으로 가장 널리 사용된다.
유니코드는 다국어 환경에서 소프트웨어, 웹 페이지, 데이터베이스 등에서 문자를 표현하고 처리하는 데 사용되며 다양한 플랫폼과 기기 간의 상호 운용성을 보장하고, 다국어 텍스트 처리 및 국제화에 필수적인 요소로 많이 사용하고 있는 방식이다.