BCD, EBCDIC, ASCII, 유니코드 등 각종 코드들에 대해 - 컴퓨터 자료(데이터)의 표현 방식
본문 바로가기

용어 정리, 이슈/과학&기술

BCD, EBCDIC, ASCII, 유니코드 등 각종 코드들에 대해 - 컴퓨터 자료(데이터)의 표현 방식

728x90
컴퓨터활용능력 자격증 필기 공부 중 각종 코드에 대해 어려운 내용들이 있어 정리해봤다.

1. 자료(데이터)의 구성 단위 (요약)

자료, 즉 데이터에 대해 알지 못하면 이번에 소개할 각종 코드들에 대해서 이해하기 어려우니 간단하게 정리해보겠다.

컴퓨팅에서 데이터(자료, data)단순한 사실 및 결과값을 말하는데, 이 데이터는 여러 종류의 논리적 구성 단위로 표현된다. 아래 표를 살펴보자.

비트(bit)->니블(nibble, 4비트)->바이트(byte, 8비트)->워드(word)
->필드(field)->레코드(record)->파일(file)->데이터베이스(database)

2. 문자 데이터의 표현

2-1. BCD(이진화 십진법)

문자 데이터는 보통 1~2바이트(8~16비트)의 용량을 가지는데, 이 중 라틴 문자는 1바이트(8비트)를, 비라틴문자와 특수문자는 2바이트(16비트)를 용량으로 가진다. 그러나 모든 문자 데이터를 1~2바이트(8~16비트)로 나타내는 것은 아니다.

 

컴퓨팅과 전자 시스템에서 이진화 십진법(Binary-Coded Decimal, BCD)는 각 자릿수가 고정된 수의 비트(보통 4, 8비트)로 표현되는 십진수에 대한 이진화 인코딩의 한 종류다. 대부분의 현대 컴퓨터 시스템이라고도 할 수 있는 바이트 지향 시스템에서 이 기술은 단일 바이트 내에서 2자리 숫자를 인코딩한다.

 

이진법 시스템과 비교하여 BCD는 반올림을 포함한 더 정확한 10진수 표현과 사람이 읽을 수 있는 표현으로 변환하기 쉽다는 장점이 있다. 그러나 기본적인 산술을 구현하는 데 필요한 회로가 복잡하고, 저장공간이 조금 덜 조밀하다는 단점이 있다.

BCD 중 자연 BCD(NBCD, Natural BCD)가 있는데, 이 인코딩 혹은 코드는 8421코드 혹은 8421인코딩라고도 불린다. 가장 기본적인 형태이니 잠깐 살펴보자.

십진법 수 NBCD 인코딩
8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1

위와 같은 스킴(scheme)은 단순 BCD(SBCD, Simple BCD) 혹은 BCD 8421이라고도 부르며, 가장 일반적인 숫자 4자리를 사용하는 이진화 십진법의 인코딩이다.

 

그러나 BCD는 숫자만 나타낼 수 있는 것은 아니다. 이 표현 방식을 사용하면 영어 대문자와 특수 기호도 표현가능하다. 즉, 영어 소문자는 표현이 불가능하다.

존 비트 숫자 비트
영문자, 숫자 혹은 특수문자를 표시할 수 있게 하는 비트  
           

기본적으로는 2자리의 존비트와 4자리의 숫자 비트로 구성되며 그래서 64(2의 6승)가지의 문자를 표현할 수 있다. 

이러한 BCD 시스템을 6비트의 부호만으로 숫자, 영어 대문자, 특수 기호로 표현한 것BCD 교환 부호(BCDIC)라고 한다.

BCD 교환 부호(BCDIC) 표현문자
존 비트 숫자 비트
0 0 0 0 0 1 1
0 0 0 0 1 0 2
0 1 0 0 0 1 A
0 1 0 0 1 0 B
0 1 1 0 0 0 H
0 1 1 0 0 1 I
1 0 0 0 0 1 J
1 0 0 0 1 0 K
1 0 1 0 0 0 Q
1 0 1 0 0 1 R
1 1 0 0 1 0 S
1 1 0 0 1 1 T
1 1 1 0 0 0 Y
1 1 1 0 0 1 Z

2-2. EBCDIC(확장 이진화 십진법 교환 부호)

바로 위에서 BCD와 BCDIC에 대해 정리했는데, 이번에 소개할 엡시딕(EBCDIC)도 그와 연관되어 있다. BCD 시스템을 6비트의 부호만으로 숫자, 영어 대문자, 특수 기호로 표현한 것 BCD 교환 부호(BCDIC)라고 한다면, EBCDIC는 이 BCD 시스템을 확장해(extended) 8비트(1바이트)의 부호만으로 숫자, 영어 대문자, 특수 기호로 표현한 것EBCDIC라고 한다.

존 비트 숫자 비트
               

이전의 BCDIC는 존 비트가 2자리만 있었지만, 이 EBCDIC는 존 비트가 2자리 더 늘어 4자리가 되었다는 특징이 있다. 그 외 BCDIC와 EBCDIC의 숫자 비트의 자릿수는 4자리로 같다. 총 8자리에 숫자 0과 1을 기입할 수 있기 때문에 총 256(2의 8승)가지의 문자를 표현할 수 있다. 또 이 EBCDIC는 영어 대문자 뿐 아니라 소문자도 표현이 가능하다!

존 비트 숫자 비트 표현문자
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0 2
0 0 0 0 0 0 1 1 3
0 0 0 1 0 0 0 0 16
0 0 1 1 0 0 1 0 22
0 1 0 0 1 0 1 1 .
0 1 0 1 0 0 0 0 &
1 0 0 0 0 0 0 1 a
1 0 1 0 1 0 0 1 z
1 1 0 0 0 0 0 1 A
1 1 1 0 1 0 0 1 Z

2-3. ASCII(미국 정보 교환 표준 부호)

아스키(ASCII)미국국가표준협회(ANSI)에서 개발한 전자통신용 문자 인코딩 표준이다. 컴퓨터(특히 개인용 PC), 데이터 통신과 같은 통신 장비의 텍스트를 나타낸다. 대부분의 현대 문자 인코딩 체계는 이 ASCII를 기반으로 하고 있으며, 이에 부응하기 위해 이전에 사용할 수 없었던 다양하고 많은 추가적인 문자(character)를 지원한다!

존 비트 숫자 비트
             

이 ASCII는 3개의 존 비트와 4개의 숫자 비트, 총 7비트로 구성되며, 128(2의 7승)가지의 문자를 표현할 수 있다.

2-4. UNICODE(유니코드)

유니코드(unicode) 혹은 유니코드 표준(Unicode Standard) 세계 대부분의 문자 체계에서 표현되는 텍스트의 일관된 인코딩, 표현, 처리를 위한 정보기술(IT) 표준이다. 정말 정의 그대로 세계의 다양한 문자들이 문자 인코딩 되어 있으며, 문자 뿐 아니라 각종 기호나 이모지도 포함되어 있다. 경우에 따라 다르지만 일반적으로 16비트(2바이트) 체계를 사용하며, 최대 65536(2의 16승)자의 글자를 코드화할 수 있다. 한글은 조합형, 완성형, 옛글자 모두 표현 가능하다.

 

이렇게 길다면 길고 짧다면 짧은 대표적인 문자 인코딩 4가지를 정리해봤다. 마지막으로 정리된 표를 기재하며 글을 마치겠다.

문자 인코딩 종류 비트 구성 및 비트 수  특징
BCD 총 6비트(존 비트 2개+숫자 비트 4개) 64(2의 6승)자
영어 소문자 표현 불가능
EBCDIC 총 8비트(1바이트, 존 비트 4개+숫자 비트 4개) 256(2의 8승)자
영어 대소문자 표현 가능
ASCII 총 7비트(존 비트 3개+숫자 비트 4개) 128(2의 7승)자
대부분의 현대 문자 인코딩 체계의 기반
주로 개인용 PC, 통신용
유니코드 총 16비트(2바이트) 65536자(2의 16승)자
세계 대부분의 문자, 이모지, 기호 표현 가능
한글-조합형, 완성형, 옛한글 표현 가능

 

반응형