글

라벨이 인코딩인 게시물 표시

아스키 코드(ASCII)와 유니코드(unicode)

이미지
1. 아스키 코드(ASCII) American Standard Code for Information Interchange의 약자로, 1960년대 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이다. 8비트 중에서 7비트만 사용하여 총 128개의 부호를 표기할 수 있다. 나머지 1비트는 통신 에러 검출을 위한 것으로 1의 개수가 홀수이면 1, 짝수이면 0으로 표기하였다. 이를 parity bit라고 한다. 이후 1비트를 더 확장한 ANSI 코드가 나왔으나 이것만으로는 다른 언어를 표현할 수 없었다. 이를 해결하기 위해 국제 표준 코드인 유니코드(Unicode)가 등장하게 되었다. [아스키 코드표] 2. 유니코드(Unicode) 초기 유니코드는 다양한 언어를 지원하기 위해 2바이트(=65536)로 용량을 확장하였다. 그러나 2바이트만으로는 고어(古語), 토속어 등을 담기에는 역부족이었다. 이러한 문제점을 해결하기위해 기본언어판과 보충언어판(BMP + SMP)으로 구성된 유니코드 3.0을 출시하게된다. (2019년 5월 7일 현재, 유니코드 버전 12.1) 유니코드 인코딩은 UTF-8, UTF-16, UTF-32 등이 있으며, 유니코드라 하면 일반적으로 UTF-8이 사용된다. UTF-8로 표현 가능한 길이는 최대 6바이트이나 다른 인코딩과의 호환을 위해 4바이트까지만 사용된다. 1바이트 영역은 아스키 코드와 하위 호환성을 가지며, 아스키 코드의 0~127까지는 UTF-8로 완전히 동일하게 사용된다. 아스키 코드와의 호환은 인터넷에서 가장 많이 사용되는 인코딩이 되는데 큰 이점으로 작용하였다. 유니코드가 쓰이기 전에는 대부분의 인터넷 문서들이 아스키 코드로 작성되었기 때문에 기존 인터넷 문서를 문제없이 호환된다는 것은 큰 장점이었다. UTF-8의 인코딩 규칙은 바이트가 추가될 때마다 1번째 바이트에 '1'로 표기해주는 방식이다. 1개의 바이트가 추가되었다면 '110'을, 2개의 바이트가 추가되었다면 ...

이 블로그의 인기 게시물

아스키 코드(ASCII)와 유니코드(unicode)

Kubernetes 학습 노트

Innovation or Threat? Why Tech Giants Are Issuing a Total Ban on OpenClaw (혁신인가, 위협인가? 테크 거물들이 오픈클로를 전면 금지하는 이유)