01 / 15
SESSION 05 · Part 2 개발자처럼 생각하기

데이터
표현

0과 1로 글자, 그림, 소리까지 — 모든 것을 숫자로

02 / 15
🎯

이 세션에서
배우는 것

🔤
문자 인코딩
ASCII, UTF-8이 왜 필요한지 설명할 수 있다
🖼️
이미지 표현
이미지가 픽셀 숫자 집합임을 이해한다
🎵
소리의 디지털화
아날로그를 디지털로 바꾸는 샘플링을 이해한다
03 / 15
🌐

0과 1로
어떻게 글자를 쓸까?

컴퓨터는 숫자만 알지만, 우리는 글자·그림·소리 를 다룬다.
해결책은 간단하다 — "규칙을 정하자".

"A = 65" 라고 약속하면, 컴퓨터가 65를 받는 순간 A를 화면에 그린다. 이것이 인코딩 이다.

04 / 15

문자 인코딩 — ASCII vs UTF-8

언어가 다르면 약속도 달라진다. 전 세계를 모두 담으려면 더 큰 표가 필요하다.

🔤 ASCII (1963)
7비트로 128개 문자 표현
영문자 + 숫자 + 기호만 지원
A=65, a=97, 0=48
한글, 중국어, 이모지 불가능
🌍 UTF-8 (1993)
1~4바이트 가변 길이로 표현
전 세계 모든 문자 + 이모지 지원
'한' = E1 95 9C (3바이트)
웹 표준 — HTML의 90%가 UTF-8
05 / 15
🔤

텍스트 저장 —
더 깊게 이해하기

컴퓨터가 문자를 숫자로 저장하는 과정, 그 역사와 원리를 따라가 보자.

1
ASCII — 영어권만의 약속 (1963)
A=65, a=97, 0=48. 7비트로 128개 문자. 영문자와 숫자·기호는 표현하지만 한글은 불가능.
2
유니코드 — 전 세계 약속 (1991)
영어·한글·한자·아랍어·이모지까지. 현재 14만 개 이상의 문자를 고유 번호로 지정.
3
UTF-8 — 효율적 저장 방식
유니코드 번호를 실제 바이트로 저장하는 방법. 영문자는 1바이트, 한글은 3바이트 — 혼용 가능.
4
이모지도 숫자다
😀 = U+1F600. 이미지가 아니라 유니코드 번호 — 폰트가 그림을 그려줄 뿐이다.
06 / 15
🎨

이미지 = 픽셀 × RGB

그림도 결국 숫자다. 작은 점(픽셀)의 격자로 이뤄지며, 각 점은 세 숫자 — R, G, B (0~255) 로 색을 표현한다.

R: 255
+
G: 128
+
B: 0
=
🟧 주황

1920×1080 HD 이미지 = 약 207만 개 픽셀 × 3바이트 = 약 6MB.

07 / 15
🎨

색상을 숫자로 —
실제로는 어떻게?

스마트폰 화면의 모든 색은 세 숫자(R, G, B)의 조합으로 만들어진다.

R: 255
빨강 최대
+
G: 200
초록 중간
+
B: 0
파랑 없음
=
🟡 노란색
#FFC800

핵심: 각 채널 0~255 = 8비트. 세 채널 합쳐 24비트 = 픽셀 하나 = 1,677만 가지 색 표현 가능.

08 / 15

소리를 숫자로 — 샘플링

연속된 아날로그 파형을 초당 수만 번 측정해 숫자로 기록한다.

1
아날로그 파형 입력
마이크가 공기 진동을 전기 신호로 받는다.
2
샘플링 (Sampling)
일정 간격으로 신호 크기를 측정. CD 음질은 44,100Hz — 1초에 44,100번 측정.
3
양자화 (Quantization)
측정값을 16비트 숫자로 근사. 65,536 단계의 음량을 표현.
4
저장 / 압축
WAV로 원본 저장, MP3로 압축 — 중복 패턴 제거해 파일 크기 1/10로.
09 / 15
📱

실생활에서
이렇게 쓰여요

우리가 매일 사용하는 앱과 서비스 속에 이 개념이 녹아 있다.

😀
이모지
이미지가 아닌 유니코드 문자. 폰트가 달라지면 같은 이모지도 다르게 보인다.
🖼️
사진 색상
포토샵·피그마에서 "#FF5733" 같은 16진수 RGB 코드로 정확한 색상을 지정한다.
🎵
음악 파일
PCM 샘플링으로 아날로그 파형을 숫자로 기록. MP3는 불필요한 데이터를 압축해 용량 절감.

💡 이 개념이 없다면 다국어 앱과 글로벌 인터넷이 불가능하다

10 / 15
💡

자주 하는
오해 바로잡기

이렇게 생각하기 쉽지만, 실제로는 조금 다릅니다.

❌ 흔한 오해
  • 컴퓨터는 문자를 그대로 저장한다
  • 이모지는 이미지 파일이다
  • 한글은 영어보다 저장 공간을 더 쓴다
✓ 실제로는
  • 문자는 항상 숫자(코드 번호)로 변환해 저장한다
  • 이모지는 유니코드 번호 — 폰트가 그림을 그린다
  • UTF-8에서 한글 1자 = 3바이트, 영어 1자 = 1바이트 (이유는 비트 범위 때문)
11 / 15
🗜️

압축은 그림 묘사

어려운 개념도 익숙한 것에 빗대면 쉬워진다.

🖼️ 그림 묘사 비유
원본 이미지
=
"빨강, 빨강, 빨강... (1000번)" — 1000개 값 나열
압축 이미지
=
"빨간 픽셀 1000개" — 패턴을 요약
JPEG (손실)
=
사람 눈이 구분 못할 색을 버려 크기 축소
ZIP (무손실)
=
원본 완전 복원 가능 — 반복 구조만 압축
12 / 15
🤖

이걸 알면
AI와 이렇게 대화해요

이 개념을 이해하면 Claude나 ChatGPT를 훨씬 잘 활용할 수 있다.

👤
앱에서 한글이 깨져요
🤖
인코딩 설정이나 폰트 문제일 수 있어요. 좀 더 알려주세요.
👤
인코딩 문제인지 폰트 문제인지 어떻게 구분하나요? UTF-8로 설정했는데도 깨지는 경우 원인을 알려줘
🤖
인코딩 문제면 "????" 또는 깨진 기호가 보이고, 폰트 문제면 □(빈 네모)가 보입니다. 서버 응답 헤더의 Content-Type에 charset=UTF-8이 있는지 확인해보세요.
13 / 15

이렇게
이해하셨나요?

맞게 이해하셨어요
모든 데이터(문자·이미지·소리)는 결국 숫자로 변환해 저장된다.
이렇게는 아니에요
이모지는 이미지 파일이다. (유니코드 번호이며 폰트가 렌더링한다)
맞게 이해하셨어요
UTF-8은 전 세계 문자를 담을 수 있는 웹 표준 인코딩 방식이다.
이렇게는 아니에요
한글 깨짐은 항상 폰트 문제다. (대부분 인코딩 불일치가 원인이다)

💪 데이터 표현의 비밀을 이해한 당신 — 이제 파일 포맷이 두렵지 않아요!

14 / 15
📌

핵심 정리

🔤
ASCII
영문자만 —
128개 문자표
🌍
UTF-8
전 세계 문자 —
웹의 표준 인코딩
🖼️
픽셀
이미지의 최소 단위 —
RGB 세 숫자
🎵
샘플링
아날로그 소리를
초당 수만 번 측정
🗜️
압축
중복 제거로
파일 크기 축소
🔢
모든 것은 숫자
글자·그림·소리 —
결국 0과 1로 환원
15 / 15
🚀

다음 세션
Session 06 · 알고리즘과 문제해결 사고

데이터를 숫자로 만들었으니 이제 처리하는 방법을 배울 차례.
문제를 푸는 레시피 — 알고리즘, 시간 복잡도의 세계로.

💡 기억할 것: 글자·이미지·소리 — 모든 데이터는 숫자로 변환해 저장한다.

슬라이드 목록