더북(TheBook)

아직도 16진수의 유용성에 확신이 서지 않는다면 0xCAFEBABE와 같이 숫자를 적을 수 있음을 떠올리자. 0xCAFEBABE는 자바 프로그래밍 언어로 작성한 프로그램의 컴파일된 파일을 식별하는 데 사용한다. 16진수를 사용하는 영어 단어 철자법을 Hexspeak라고 하는데, 검색해 보면 몇몇 유용한 예를 찾아볼 수 있다.

아스키코드로 돌아가서, 앞의 33개 문자와 128번째 문자는 제어 문자다. 제어 문자들은 원래 아스키코드 체계를 사용하는 프린터와 같은 디바이스 장치들을 제어하려고 만들어졌다. 제어 문자 대부분은 관련 있는 일부 문자를 제외하고 더는 사용되지 않는다. 그래서 문자 32(0에서 시작하여 33번째 문자인 0x20)는 공백 문자, 문자 127(0x7F)은 삭제 코드(delete), 문자 27(0x1B)은 이스케이프 문자다. 또한, 문자 10(0xA)과 13(0xD)은 복귀 문자(carriage return)와 개행 문자(line feed)에 해당하며, 이 두 문자는 행을 새로 시작할 때 사용한다(컴퓨터 운영체제에 따라 복귀 문자만 사용하거나 둘 다 사용한다). 다른 문자들은 잘 사용하지 않는데, 예를 들어 문자 7은 전신타자기(teletype)에서 벨을 울리려고 만든 문자다.

표 3-2는 표 3-1을 사용하여 문장 “I am seated in an office”을 16진수와 2진수로 표현한 것이다. 각 문자는 7비트로 표현되는 2진수에 해당하고 문장은 24개 문자를 포함하므로 모두 24 × 7 = 168비트가 필요하다.

▼ 표 3-2 아스키 인코딩 예시

I

0x49

1001001

 

0x20

100000

a

0x61

1100001

m

0x6D

1101101

 

0x20

100000

s

0x73

1110011

e

0x65

1100101

a

0x61

1100001

t

0x74

1110100

e

0x65

1100101

d

0x64

1100100

 

0x20

100000

i

0x69

1101001

n

0x6E

1101110

 

0x20

100000

a

0x61

1100001

n

0x6E

1101110

 

0x20

100000

o

0x6F

1101111

f

0x66

1100110

f

0x66

1100110

i

0x69

1101001

c

0x63

1100011

e

0x65

1100101

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.