컴퓨터 개론, 컴퓨터 쉽게 이해하기
정보의 표현 : 아스키코드(ASCII), 유니코드(UNICODE), RGB입 력
우리는 컴퓨터를 통해 다양한 정보를 처리한다. 문자, 사진, 영상, 음악 등 정보를 표현하는 형태는 다양하다.
그러면 컴퓨터는 이런 다양한 정보를 어떻게 처리할 수 있을까?
정보처리를 위한 컴퓨터와의 약속을 만들어야 한다.
문자 처리
이전 강의에서 컴퓨터는 0과 1만 이해한다고 하였다. 0과 1을 이용하여 문자를 표현해야 한다.
ASCII는 문자를 컴퓨터의 언어인 2진수로 또는 2진수를 사람의 언어로 변환하는 약속이다.
1963년 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계를 만든다. 이것이 ASCII코드이다. 인쇄전신기를 통한 전신에서 사용되기 시작했고 이를 8비트 컴퓨터에도 활용하게 된다.
000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다. 1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신 측에서 검출해 낼 수 있도록 하였다. 일종의 원시적인 CRC 체크섬이라고 할 수 있다.
이후 프랑스어, 독일어와 같은 유럽어를 표현하기 위해 8비트의 확장 ASCII를 만들었고 128번부터 255번까지 새로운 문자를 정의할 수 있었다. 이 확장 ASCII는 ISO8859 유럽 통일 표준안으로 제정되었다.
영어권 국가들은 ASCII로 수용되었으나, 한국, 중국, 일본 등의 경우 ASCII로는 수용이 불가능하였다.
그래서 한국은 조합형, 완성형, KSC5601 등 한글 표현을 위한 약속을 만들었다.
한글을 독자적으로 표현할 수 있었지만 중국어, 일본어 등을 동시에 표현할 수는 없었다.
그래서 전 세계적으로 사용되는 모든 문자 집합을 하나로 모아 탄생시킨 것이 유니코드이다
유니코드는 로마자 알파벳만을 위주로 부호화하는 데 사용되는 ASCII 코드의 한계점을 극복하고 전 세계의 모든 문자를 표현하기 위한 16비트 코드 체계로서, 사용 중인 플랫폼, 프로그램, 언어에 무관하다는 특징을 가진다. 컴퓨터 하드웨어 및 소프트웨어 업체들이 모여서 1990년에 첫 버전을 발표하였고, 1995년에 국제 표준으로 제정되었으며, 현재 국제 ISO/IEC 10646과 완전히 호환된다.
유니코드의 인코딩 방식으로는 UTF-7, UTF-8, UTF-16, UTF-32가 있다. 이중 ASCII와 호환이 가능한 UTF-8이 가장 많이 사용된다.
Unicode는 😂(기쁨의 눈물) 이런 이모티콘까지 표현할 수 있게 해 주었다. 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010이다. 만약 여러분이 스마트폰으로 😂(기쁨의 눈물) 이모티콘을 친구의 스마트폰으로 보낸다면 11111011000000010이라는 0과 1의 패턴을 보낸 것이다. 그럼 친구의 스마트폰의 안드로이드 혹은 iOS는 0과 1의 패턴을 받아 노란색 얼굴에 눈물을 흘리고 있는 사진으로 보여준다.
그림, 영상, 음악의 표현
문자와 같이 그림도 역시 숫자로 표현할 수 있다. 그림에 대한 약속만 있으면 된다.
우리가 스크린을 통해 보는 그림을 자세히 살펴보면 수많은 작은 점들이 빨간색, 초록색,
파란색을 띠고 있다. 이런 작은 점을 픽셀이라고 부른다. 각각의 픽셀은 세 가지 색을 서로 다른 비율로 조합하여 특정한 색을 갖게 된다. 예를 들어 빨간색 72, 초록색 72, 파란색 33을 섞게 되면 노란색이 되는 것과 같은 방식이다.
이 숫자들을 표현하는 방식을 RGB(Red, Green, Blue)라고 합니다. 즉, 노란색의 커다란 이미지는 72 73 33으로 정의되는 무수히 많은 픽셀들의 RGB코드(숫자)로 표현할 수 있다.
영상 또한 수많은 그림을 빠르게 연속적으로 이어 붙여놓은 것이기 때문에 숫자로 표현이 가능하다.
음악도 마찬가지로 각 음표를 숫자로 표현할 수 있다.
이외에도 컴퓨터에서의 다양한 정보 처리를 위해서 규약이 만들어지는 것이다.
컴퓨터는 이진처리이다. 이진처리를 위한 다양한 규약이 생기게 되는 것이다.
만약 유니코드가 생기지 않았다면 문자처리에 대한 혼란은 아직도 계속되었을 것이다.
그만큼 규약에 대한 표준작업이 중요한 것이다.
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > 파이썬 기초 (Python)' 카테고리의 다른 글
#006 파이썬 기초 : 주피터 노트북 개발도구 (99) | 2023.02.16 |
---|---|
#005 파이썬 기초 : 실습환경 아나콘다 설치 (92) | 2023.02.15 |
#004 왜 파이썬인가? 최고의 입문 프로그래밍 언어 Python (163) | 2023.02.14 |
#003 알고리즘(Algorithm)의 이해 : 의사코드 (132) | 2023.02.13 |
#001 2진법 비트(bit) 바이트(byte) 컴퓨터 쉽게 이해하기 (89) | 2023.02.03 |
댓글