IT·테크

코드 페이지

각 나라의 언어를 숫자에 대응시켜 둔 지역별 번역 암호표예요.

정의

컴퓨터가 문자를 화면에 표시하기 위해 숫자와 글자를 짝지어 놓은 규격 표예요. 과거에는 전 세계 모든 언어를 하나의 표에 담지 못했어요. 그래서 각 언어권이나 운영체제마다 서로 다른 표를 나누어 사용했어요.

첩보원의 암호책처럼 컴퓨터가 글자를 읽는 법

옛날 첩보원들이 서로 다른 암호책을 손에 쥐고 있다면, 같은 암호문을 보고도 전혀 엉뚱한 말로 읽어버릴 거예요. 컴퓨터가 글자를 화면에 띄우는 과정도 이와 비슷해요. 컴퓨터는 본래 글자를 전혀 알지 못하고 오직 0과 1로 된 숫자만 계산하는 기계거든요.

그래서 개발자들은 알파벳과 기호마다 고유한 번호를 붙인 '아스키(ASCII)'라는 기본 규칙을 만들었어요. 하지만 이 규칙은 영문과 숫자 등 128개의 문자만 담을 수 있어서 다른 나라의 언어를 담기에는 턱없이 모자랐어요. 결국 남는 128칸의 번호에 나라마다 자기 언어를 채워 넣기 시작했죠.

미국과 서유럽은 특수 기호와 악센트 문자를 채웠어요. 한국과 일본처럼 글자가 수천 자인 곳은 128칸으로 모자라서, 남는 칸의 번호 두 개를 묶어 한 글자를 나타내는 방식을 썼어요. 이렇게 특정 언어나 지역을 위해 숫자에 문자를 짝지어 둔 규격을 코드 페이지라고 불러요. 각 나라 컴퓨터마다 서로 다른 암호책을 펼쳐 두고 문자를 읽기 시작한 셈이에요.

화면에 외계어가 나타나는 이유

오래된 파일을 열었을 때 알 수 없는 한자나 '뷁' 같은 기괴한 글자가 마구 쏟아져 나온 경험이 있을 거예요. 컴퓨터나 파일이 고장 나서가 아니라, 문서를 작성한 컴퓨터와 문서를 열어본 컴퓨터가 서로 다른 코드 페이지를 펼쳤기 때문이에요.

예를 들어 한국어 윈도우는 'CP949'라는 코드 페이지를 사용해 한글을 숫자로 바꾸어 기록해요. 그런데 이 문서를 일본어 윈도우에서 열면, 일본어 코드 페이지(CP932)가 작동해 똑같은 숫자를 엉뚱한 일본어 글자로 바꿔 화면에 보여줘요.

글자를 적은 사람의 번호표와 글자를 읽는 사람의 번호표가 어긋나면서 나타나는 문자 깨짐 현상이에요. 서로 다른 언어권 사이에서 파일을 주고받을 때마다 번번이 외계어가 나타나 사람들을 곤란하게 만들었어요.

조금 더 정확히 말하면: 유니코드와 남겨진 한계

나라마다 다른 번호표를 쓰는 혼란을 끝내기 위해, 전 세계 모든 문자를 하나의 거대한 표에 담은 유니코드(Unicode)와 이를 다루는 UTF-8이 등장했어요. 덕분에 오늘날 우리는 언어가 다른 외국 웹사이트에 접속해도 글자가 깨지지 않고 편하게 글을 읽을 수 있게 되었어요.

하지만 최신 기술이 나왔다고 해서 옛날 문제가 한순간에 사라진 것은 아니에요. 널리 쓰이는 UTF-8 규칙이 옛것을 그대로 읽어낼 수 있는 범위는 오직 아스키 영역의 영문과 기호뿐이에요. 과거 완성형이나 CP949 같은 한국어 코드 페이지로 저장된 오래된 텍스트 문서는 인코딩을 바꾸지 않고 UTF-8로 읽으면 여전히 글자가 깨져 보여요.

코드 페이지는 하나의 방법이라기보다, 컴퓨터 메모리가 턱없이 부족했던 시절에 각 지역의 언어를 어떻게든 표현해 낸 시대의 기술적 결과예요. 지금도 윈도우 시스템 깊숙한 곳이나 공공기관의 낡은 프로그램 속에는 이 코드 페이지 규칙이 여전히 살아 숨 쉬고 있어요.

흔한 오해

오해

코드 페이지는 예쁜 글씨체를 화면에 그려주는 글꼴(폰트) 파일이다.

사실

폰트는 글자의 모양을 그리는 그림 파일이고, 코드 페이지는 어떤 숫자가 어떤 문자인지를 1:1로 짝지어 놓은 변환 규격 표예요.

오해

최신 UTF-8 규격은 과거 한국어 코드 페이지(CP949)로 쓰인 파일도 변환 없이 그대로 읽어낸다.

사실

UTF-8이 이전 규칙을 그대로 읽어낼 수 있는 범위는 영문과 기본 기호가 있는 아스키 영역 하나뿐이에요. CP949로 저장된 한글 문서는 UTF-8로 열면 그대로 깨집니다.

일상에서 만나요

  1. 윈도우 메모장에서 옛날 텍스트 파일을 열었을 때 한글이 외계어로 깨져 나오는 현상

  2. 한국어 윈도우의 명령 프롬프트(cmd) 창에서 기본 코드 페이지 번호로 '949'가 지정되어 있는 모습

  3. 웹 브라우저에서 '인코딩' 설정을 잘못 바꾸었을 때 한글 웹페이지가 깨져 보이는 경우

그러니까 한마디로

컴퓨터가 각 지역의 언어를 숫자로 표현하기 위해 쓰던 번역 표로, 읽는 쪽과 쓰는 쪽의 표가 다르면 글자가 깨져요.

이 개념이 나오는 이야기

제작 2025-11-08 갱신 2026-10-17 검증 2026-10-17