플레인 텍스트(plain text)는 컴퓨팅에서 읽을 수 있는 자료의 문자만을 나타내며, 그래픽 표현이나 기타 객체(부동소수점 수, 이미지 등)는 포함하지 않는 데이터를 뜻하는 용어이다. '일반 텍스트' 또는 '평문'이라고도 한다.
개념과 특징
플레인 텍스트는 서식 정보(글꼴 크기, 색상, 스타일 등)가 포함된 리치 텍스트(rich text)나, 일부가 이진 객체로 해석되어야 하는 이진 파일과 구별된다. 플레인 텍스트에는 공백, 새줄 문자, 탭 문자와 같이 텍스트의 간단한 배열에 영향을 주는 제한된 수의 '공백' 문자가 포함될 수 있다. 원칙적으로 플레인 텍스트는 어떤 문자 인코딩으로도 작성될 수 있으나, 과거에는 ASCII를 암시하는 것으로 받아들여지기도 했다. UTF-8 및 UTF-16과 같은 유니코드 기반 인코딩이 보편화됨에 따라 그러한 사용법은 줄어들고 있다.
플레인 텍스트와 리치 텍스트의 구분
유니코드 표준에 따르면, 플레인 텍스트는 '문자 코드의 순수한 시퀀스'이며, 리치 텍스트는 플레인 텍스트에 언어 식별자, 글꼴 크기, 색상, 하이퍼텍스트 링크 등 추가 정보가 포함된 모든 텍스트 표현을 말한다. 다만 HTML, XML, TeX 등과 같이 마크업 자체가 직접 인간이 읽을 수 있는 형태라면 일반적으로 플레인 텍스트로 간주된다. 따라서 프로그래밍 언어의 소스 코드 파일, HTML 파일, XML 파일, SVG 파일 등도 플레인 텍스트에 포함된다.
용도
플레인 텍스트는 특수한 인코딩이나 파일 형식을 요구하는 프로그램으로부터 독립적이라는 장점이 있다. 플레인 텍스트 파일은 대부분의 문서 편집기와 유틸리티로 열고 읽고 편집할 수 있다. 주요 용도로는 다음이 있다.
- 프로그래밍 언어의 소스 코드 파일
- 구성 파일(configuration file)
- 이메일 본문
- 주석 및 .txt 파일
- 명령줄 인터페이스(CLI)에서의 명령어 및 응답
이진 파일 대신 플레인 텍스트를 사용하면 컴퓨터 아키텍처 간 비호환성(예: 엔디언 문제)으로부터 상대적으로 자유롭기 때문에 데이터의 장기 보존에 유리하다.
인코딩
플레인 텍스트의 특정 인코딩을 명시하는 가장 일반적인 방법은 MIME 유형을 사용하는 것이다. 기본 MIME 유형은 'text/plain'이며, 이는 마크업이 없는 플레인 텍스트를 의미한다. 문자 인코딩의 역사적 발전 과정에서 초기에는 6비트 문자 코드, 이후 ASCII(7비트), ISO/IEC 8859 시리즈(8비트)를 거쳐 현재는 유니코드(UTF-8, UTF-16 등)가 폭넓게 사용되고 있다.
제어 코드
ASCII는 처음 32개의 코드(0~31)를 제어 문자(C0 세트)로 예약하였으며, 여기에는 새줄 문자와 탭 문자와 같은 일반적인 문자가 포함된다. 8비트 문자 세트(예: Latin-1)에서 128~159 범위의 코드는 C1 세트라는 추가 제어 문자이나, 실제로는 시스템 특화 인코딩(예: Windows-1252)의 그래픽 문자로 사용되는 경우가 많다.