ASCII 학습자료.pdf

들어가기 전에

우리는 컴퓨터를 통해 다양한 정보를 처리한다.

간단한 숫자부터 문자, 사진, 영상, 음악까지 정보를 표현하는 형태는 매우 많다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할 수 있을까?

바로 모두가 동의한 숫자를 이용하면 된다. 문서 작성 프로그램이나 문자나 메일에서 글자 A를 숫자로 표현하기로 모두가 동의한 숫자로 바꿔주면 문자 A를 만들어낼 수 있는 것이다.

#ASCII #유니코드 #RGB

문자의 표현

지난 시간에 컴퓨터가 스위치를 ON/OFF하면서 숫자를 표현한다고 했다. 그럼 과연 문자는 어떻게 표현할까? 바로 문자를 숫자로 표현할 수 있도록 정해진 **약속(표준)**이 있다.

그 중 하나는 설명미국정보교환표준부호 ASCII(아스키코드/American Standard Code for Information Interchange)이다. 총 128개의 부호로 정의되어 있는 아스키코드는 알파벳 A의 경우 10진수 기준으로 65, 알파벳 B의 경우 66으로 되어있다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/92017096-7c23-448e-9330-8a36cda9efbf/_2020-12-13__2.47.17.png

A를 2진법으로 표현하면 어떻게 나올까? 우선 10진법을 기준으로 65이므로 **$2^6$x1 + $2^5$x0 + $2^4$x0 + $2^3$x0 + $2^2$x0 + 2x0 + 1x1 (64+1)**로 표현할 수 있으며, 이를 2진법으로 표현하면 1000001이다.

이밖에도 **유니코드(Unicode)**라는 표준에서는 더 많은 비트를 사용하여 더 다양한 다른 문자들도 표현이 가능하도록 지원하고 있다.(유니코드는 8, 16, 24, 32비트까지 사용한다.) ASCII만으로는 문자를 표현하기에 충분하지 않았기 때문이다. Unicode는 😂(기쁨의 눈물)와 같은 이모티콘까지 표현할 수 있게 해준다. 이 이모티콘은 10진법으로 128,514이며 2진법으로는 11111011000000010이다.

만약 스마트폰으로 😂(기쁨의 눈물) 이모티콘을 친구의 스마트폰으로 보낸다면 11111011000000010이라는 0과 1의 패턴을 보낸 것이다. 그럼 친구의 스마트폰(안드로이드 혹은 iOS)은 0과 1의 패턴을 받아 노란색 얼굴에 눈물을 흘리고 있는 사진으로 보여준다.

그림, 영상, 음악의 표현

문자와 같이 그림도 역시 숫자로 표현할 수 있다. 우리가 스크린을 통해 보는 그림을 자세히 살펴보면 수많은 작은 점들이 빨간색, 초록색, 파란색을 띄고 있다. 이런 작은 점을 **픽셀(Pixel)**이라고 하는데 각각의 픽셀은 세 가지 색을 서로 다른 비율로 조합하여 특정한 색을 갖게 된다. 예를들어 빨간색 72, 초록색 72, 파란색 33을 섞게 되면 노란색이 되는 것과 같은 방식으로 이 숫자들을 표현하는 방식을 **RGB(Red, Green, Blue)**라고 한다.

즉 노란색의 커다란 이미지는 72 73 33으로 정의되는 무수한 많은 픽셀들의 RGB코드(숫자)로 표현할 수 있다. 영상 또한 수많은 그림을 빠르게 연속적으로 이어 붙여놓은 것으로 숫자로 표현이 가능하다. 음악도 마찬가지로 각 음표를 숫자로 표현할 수 있는 것이다.