글자는 어떻게 숫자가 될까요?
컴퓨터는 숫자만 안다고 했죠. 그런데 우리는 글자를 치고, 화면엔 글자가 떠요. 숫자만 아는 기계가 어떻게 글자를 다루는 걸까요?
글자마다 번호가 붙어 있어요
비밀은 생각보다 단순해요.
사람들이 모여서
글자마다 번호를 정해뒀어요.
A는 65번,
B는 66번,
이런 식으로요.
그래서 키보드에서 A를 누르면,
컴퓨터한테는 글자가 아니라
숫자 65가 전해지는 거예요.
글자를 누르면 그 글자의 번호가 나와요.
A부터 Z까지,
소문자도,
숫자랑 기호도
다 자기 번호가 있어요.
이렇게 글자에 번호를 매긴 약속을
아스키라고 불러요.
컴퓨터가 처음 글자를 다루려고 만든
첫 번째 약속표죠.
번호는 다시 0과 1이 돼요
그런데 지난 시간을 떠올려 보세요.
컴퓨터는 숫자도
0과 1로 담는다고 했죠.
그러니까 65라는 번호도,
결국엔 스위치 여덟 개의
켜짐과 꺼짐으로 저장돼요.
글자 하나가
0과 1 여덟 개가 되는 거예요.
A는 65번, 그걸 다시 0과 1 여덟 개로.
그래서 글자 한 개는 보통
스위치 여덟 개,
그러니까 1바이트를 차지해요.
지난 시간에 배운 바이트가
여기서 다시 나오네요.
글자도, 결국엔 0과 1이었어요.
약속표를 한번 펼쳐볼까요
아스키 약속표가
실제로 어떻게 생겼는지
보여드릴게요.
번호 순서대로 글자가 늘어서 있어요.
눌러보면 그 글자의 번호를
확인할 수 있어요.
대문자 A는 65,
소문자 a는 97,
숫자 0은 48이에요.
대문자보다 소문자 번호가 더 커요. 32만큼 차이 나죠.
재미있는 건,
대문자와 소문자가
정확히 32 차이라는 거예요.
A는 65, a는 97.
우연이 아니라,
나중에 다루기 편하라고
그렇게 약속을 정한 거예요.
스위치 여덟 개로는 모자라요
스위치 여덟 개로
표현할 수 있는 건
256가지예요.
영어 알파벳, 숫자, 기호를
다 담아도 자리가 남죠.
그래서 처음엔 이걸로 충분했어요.
영어권에서 만든 약속이었으니까요.
0부터 255까지, 256가지.
하지만 세상엔
영어만 있는 게 아니죠.
한글만 해도 만 자가 넘고,
한자는 수만 자예요.
거기에 이모지까지.
256개로는 어림도 없어요.
그래서 새로운 약속이 필요했어요.
큰 글자는 바이트를 더 써요
해결책은 단순해요.
한 칸으로 모자라면,
여러 칸을 쓰면 되죠.
영어는 그대로 1바이트,
한글은 보통 3바이트,
이모지는 4바이트를 써요.
세상의 모든 글자에 번호를 매긴
이 거대한 약속표를
유니코드라고 불러요.
글자에 따라 차지하는 칸 수가 달라요.
그래서 같은 한 글자라도
차지하는 자리가 달라요.
영어 한 글자는 한 칸,
한글 한 글자는 세 칸.
우리가 메시지 글자 수를 셀 때랑
컴퓨터가 세는 게 다른 이유가
바로 이거예요.
한 문장도 결국 숫자의 줄이에요
이제 짧은 한 줄을
통째로 볼게요.
글자 하나하나가 번호로 바뀌고,
그 번호가 다시 0과 1이 돼요.
우리가 보내는 모든 메시지가,
속을 들여다보면
이렇게 숫자의 긴 줄이에요.
Hi 를 컴퓨터가 보는 방식.
글자가 화면에 뜰 때는 거꾸로예요.
0과 1을 읽어서 번호를 알아내고,
그 번호의 글자를
약속표에서 찾아 그려주죠.
우리 눈엔 글자지만,
속은 처음부터 끝까지 숫자예요.