텍스트 정의
텍스트(Text)란 문서 데이터로 종이 위에 인쇄되거나 모니터 등의 화면에 표시되는 정보를 말한다. 주로 숫자와 문자로 구성되며, 중요하고 정교한 정보를 옮기는 경우 사용된다. 다른 멀티미디어 데이터에 비해 기억장치의 용량을 적게 차지하기 때문에 같은 메모리 기준 가장 많은 정보를 표현할 수 있다. 텍스트를 표현하는 문자집합은 사용하는 언어에 따라 다르기에 사용자가 작성하고자 하는 언어를 지원하는 도구를 사용해야 한다.
텍스트의 표현
텍스트는 컴퓨터 내부에서 문자의 집합으로 이루어지고, 모든 문자는 2진수 코드로 표시되며 각각의 문자는 1개의 숫자로 할당된다. 이를 인코딩(Encoding)이라고 한다. 이때, 언어가 다르면 서로 사용하는 코드도 다르게 된다.
문자집합과 인코딩
문자를 표현하기 위해서는 먼저 "문자집합"을 정의해야 한다. 이때 문자집합은 표현해야 할 문자를 정하고 순서를 지정하는 것을 말한다. 예를 들어, 영어에서 A부터 Z까지 순서를 정하는 것이 문자집합이다. 문자집합에는 기본 언어의 알파벳 뿐만 아니라 숫자, 특수문자 그리고 인쇄와 통신을 제어하기 위한 제어문자까지도 문자집합에 포함되어야 한다. 문자집합을 코드 형태로 표기한 것을 "코드화된 문자집합(CCS: Coded Character Set)이라고 한다.
- ASCII: 미국에서 제정한 표준 7비트 부호체계로 컴퓨터나 인터넷 상에서 텍스트 파일을 위한 가장 일반적인 형식이다. 각각의 알파벳, 숫자, 특수문자들이 7비트의 2진수로 표현되고 128개의 문자가 정의되어있다.
- EBCDIC: IBM사에서 개발한 8비트 부호체계이다. 8비트 부호체계이나 256개의 코드를 모두 사용하지 않고 ASCII와 비슷하게 약 128개의 코드 정도만을 사용한다. ASCII가 보편화되어, EBCDIC은 잘 사용하지 않는다.
- 서유럽 문자집합: 7비트로 이루어진 ASCII는 유럽어를 다 표현하기 힘들기에 8비트 코드 체계로 ASCII를 확장하여 새로운 문자집합을 만들었다. "ISO Latin-1"이라고도 불린다.
- 한글코드: 영어나 유럽어는 알파벳을 기초로 사용하기에 256개의 코드로 문자집합을 표현하는 것이 가능하다. 그러나 한글, 한자 등의 동양권에서 사용하는 문자는 개수가 많아 8비트의 확장 ASCII로도 모두 수용이 불가능했다. 이 문제를 해결하기 위하여 "조합형 한글코드(초성, 중성, 종성에 각각 코드를 할당하는 방식)"와 "완성형 한글코드(완성된 문자에 코드를 할당하는 방식)"가 만들어졌다.
- 유니코드: ASCII가 가지는 문자 표현의 한계를 해결하여 세계 모든 언에 대한 문자집합을 코드화시킨 것으로, 인간이 사용하는 모든 언어를 표현 가능하도록 설계한 문자 코드이다. 기존 언어와 인코딩 체계를 모두 포함하도록 고안된 단일 문자집합이다. 유니코드는 "UTF-8(ASCII는 1바이트, 다른 문자들은 2~4바이트로 인코딩하는 방식)"과 "UTF-16(기본 다국어 평면에 속하는 문자는 2바이트, 그 외의 문자는 4바이트로 인코딩하는 방식)", 대표적으로 이 두 가지 문자 인코딩 방식이 있다.
마크업 텍스트
마크업 텍스트란 문서 내용 이외에, "문서의 서식작성", "찾아보기 작업 방법", "다른 요소와 연결하는 방법"을 지정하여, 컴퓨터 시스템에 지시하는 마크업 정보가 추가된 것을 말한다. 마크업이란 문서 구조를 정의하거나 표현하기 위해 정의한 부가 정보를 말한다. 대표적인 마크업 언어로는 HTML, SGML 등이 있다. 마크업 언어는 대부분 텍스트 문서와 파일이 기종과 독립적으로 응용 프로그램 간에 교환되도록 이식성을 높이기 위해 설계되었다.
구조적 텍스트
구조적 텍스트는 논리적 구조와 설계의 구조를 표현하는 데이터 구조로 사용된다. 대부분의 문서 처리와 페이지 설계 프로그램은 구조적 텍스트를 위한 독점적인 표현 방법을 가지고 있다.
하이퍼텍스트
하이퍼텍스트는 다른 문서 내의 특정 위치로 연결될 수 있다는 특징을 가진다. 즉, 물리적이고 논리적인 공간을 뛰어넘어 임의의 연결이 가능한 새로운 개념의 문서 연결 형태이다. 독자는 글을 순서대로 읽는다는 개념을 깨뜨리고 연결된 링크를 따라 순간이동하여 원하는 정보를 검색할 수 있다. 하이퍼텍스트는 비선형적인 그래프와 같은 구조를 가지며, 노드와 링크를 단위로 하는 정보의 구조화 방식이다.
하이퍼텍스트 문서를 이용하면 필요할 때 연결된 자료를 즉시 읽을 수 있다. 이와 같이 자료와 자료를 연결하는 방법을 "하이퍼링크"라고 하고 단어나 이미지를 선택할 경우 연결된 문서와 다른 미디어로 이동이 가능해진다. 단순히 문서만을 연결하는 하이퍼텍스트를 넘어 최근에는 "하이퍼미디어" 개념으로 발전하고 있다.
텍스트 파일 형식
텍스트를 적은 파일은 기본적으로 ".txt" 확장자를 사용하여 저장되고, 이때 파일은 텍스트에 대한 정보 없이 순수한 글자 코드와 줄바꿈에 대한 CR 코드만으로 구성된다. .txt 파일 포맷은 특별한 기능이 사용되지 않기에 어떤 응용 프로그램이든지 이 파일 포맷을 읽고 사용할 수 있다. txt 포맷의 파일은 단순한 문자 코드의 집합이기에 원시자료로서만의 가치만 가지고 그 이상의 활용을 하기에는 부적합하다. 지금부터 다양한 텍스트 파일 형식에 대해서 알아보도록 하겠다.
- TXT: txt 포맷으로 운영체제에서 기본적으로 제공하는 텍스트 편집기를 사용하여 만들어지는 파일 형식으로 단순한 텍스트 정보를 교환하기 위한 파일 포맷이다.
- DOC: 마이크로소프트의 MS워드를 사용하여 작성된 포맷으로, 현재는 ".docx" 확장자 이름을 사용한다. 워드에서 필요한 모든 정보를 가지기에 문서 작성 및 편집에 유용하다.
- HWP: 한글 워드프로세서에서 사용하는 문자 포맷으로, 조합형 코드를 사용하는 특징이 있다.
- RTF: 미국의 마이크로소프트 사가 중심이 되어 표준화한 텍스트 파일 형식으로, 서로 다른 기종이나 운영체제에서 동작하는 응용 프로그램 간에 형식화된 텍스트 문서를 교환할 수 있다.
- HTML: 일반 txt 형식으로 되어 있어 일반 txt를 편집할 수 있는 문서 편집기라면 조작이 가능하다. 호환성이 가장 높은 텍스트 문서 형식이며, 인터넷 웹 문서의 표준 형식으로 구성된다.
- XML: 웹상에서 구조화된 문서를 전송 가능하도록 설계된 표준화된 텍스트 형식이다. 데이터를 저장하거나 전달하여 교환하는데 목적을 둔 마크업 언어이다. 또한 서로 다른 소스로부터 뽑아낸 데이터를 비슷한 것끼리 묶어 구조화한 데이터를 사용자 인터페이스와 분리시킬 수 있다
- PDF: 어도비에서 개발한 전자문서 형식으로, 대부분의 문서가 표현이 가능하고 암호화 및 압축 기술을 통해 내용의 변조가 어렵고 사용권을 다양하게 부여할 수 있으며 다양한 프로그램에서 지원이 가능하다. 아주 많은 장점을 가진 문서 형식이다. 또한 PDF 파일 형식은 인쇄 상태의 모양을 그대로 컴퓨터에서 보여주기에 디지털 출판에도 적합하다
- TeX/LaTeX: TeX은 컴퓨터 과학자 도널드 크누스(The Art of Computer Programming의 저자)가 개발한 조판 시스템으로 복잡한 수식을 포함하는 문자를 정형하거나 조판이 가능하다. 오픈소스 소프트웨어이며, 거의 모든 컴퓨터시스템에서 동작한다. LaTeX은 TeX의 불편한 UI를 개선한 TeX 시스템이다. TeX과 LaTeX은 명령어를 문법에 맞게 작성한 후 컴파일하면 아주 가독성 좋은 글과 수학 공식을 작성할 수 있다. 또한 그래프와 이미지도 포스트스크립트 파일로 변환하여 파일 속에 삽입 가능하다. 이로 인해 이공계 분야에서 학술 논문, 보고서를 사용할 때 아주 유용한 도구로 여겨진다.
지금까지 여러 텍스트 파일 형식에 대해 알아보았다. 최근 들어 전자책과 디지털 출판에 관한 수요와 공급이 높아졌는데 이에 대해서도 간단히 알아보도록 하겠다.
- 전자도서: 전자책, e-book이라고 불리며, 온라인 전자출판의 일종이다. 책 내용을 디지털 파일로 만들어 전용 뷰어를 통해 컴퓨터나 전용 단말기를 통해 읽을 수 있다.
- 전자출판: 컴퓨터를 이용하여 디지털화된 방식으로 출판물을 제작하는 방법과 기술을 의미한다. 전자출판은 온라인 출판 또는 웹 출판이라는 용어와 같이 사용된다.