"text file" 은
- 사람과 컴퓨터가 읽을 수 있고 처리할 수 있도록 encoding 된 characters 로 이루어진
- electric text lines 로 구성되는 형태의
- 파일 포맷 및 해당 파일을 가르킴.
특징.
text file 이 가지는 다양한 특성은 다음과 같음.
- 단순한 format:
- text file 은 기본 characters 만을 포함하며,
- 해당 characters 에 대한 styling 을 위한 binary 나 binary meta-data 등을 포함하지 않기 때문에 단순한 형태임.
- 해당 문자들에 대한 character encoding 에 따라 file 이 저장되는 bytes 가 결정됨.
- File extension:
- text file 은 흔히 .txt 형태의 file extension 을 가지지만,
- .csv (comma-separated values) 또는 .log (for log file), .md (for markdown file)등과 같은 다른 file extension 도 흔함.
- 대부분 file extension 에 따라 해당 text characters 를 어떻게 의미로 처리할지에 대한 해석이 바뀜.
- .py 의 경우 text file 이지만, python interpreter 에서 파이썬 구문으로 해석하여 이미 약속된 동작이 이루어짐
- .py 확장자를 가지는 경우, source code 라고 불리는 기재된 text 내용에 따라 GUI 프로그램이 수행되거나 단순한 출력 프로그램으로 동작되는 등의 다양한 다른 결과가 이루어짐.
- Character Encoding:
- text file의 characters는 ASCII, UTF-8, UTF-16 같은 표준으로 널리 사용되는 encoding을 사용하여 저장됨.
- 이 encodings 은 파일 내에서 문자가 bytes 로 어떻게 표현되는지 정의함.
- 다양한 편집기에서 편집 가능:
- Notepad (windows), TextEdit (macOS), vim or emacs (Linux)와 같은 일반적인 editor s/w 뿐 아니라
- visual studio code 와 같은 advanced text editor 에 이르기까지 다양한 s/w 를 통해 편집이 가능함.
- 컴퓨터에서 문자를 저장 및 처리하는 character encoding 이 표준으로 널리 사용되고 있어서,
이 encoding 만을 구현하면 text file 을 읽고 처리할 수 있기 때문에 매우 높은 범용성과 호환성을 가짐.
- Compatibility (호환성):
- character encoding 외에는 요구되는 다른 형식이나 규약이 없는 매우 단순한 format 이기 때문에
- text file 은 다양한 컴퓨터 시스템과 애플리케이션 간에 높은 호환성을 가짐.
사용 사례:
text file 은
주로 메모, 지침, 소스 코드, 구성 파일, 로그 등과 같이 인간과 소프트웨어가 모두 쉽게 읽고 처리할 수 있는 데이터를 저장하는 데 사용됩니다.
- 스크립팅 및 프로그래밍:
- 사용되는 소스 코드를 작성하고 저장하기 위해 텍스트 파일을 사용.
- text file 의 단순함은 소스 코드의 조작에 이상적(ideal).
- 데이터 교환:
- text file 은 다양한 프로그램 간의 데이터 교환에 사용됨.
- binary format 으로 통신을 할 경우 서로 다른 프로그램에서 서로의 file format 을 알고 있어야 함.
- 실례로 마이크로소프트의 power point 의 .ppt 파일을 Apple의 keynote 에서 읽어 들이기 어렵고,
- 반대로 .key 파일도 power point에서 읽기 어려움.
- 두 형식을 모두 읽어들이기 위해서는 서로의 file format 을 정확히 알고 있어야 함.
표준 문자 encoding 외의 인코딩 방식을 사용하면 binary format 이라고 생각해도 된다:
jpg, dcm, hwp, xls, doc 등등은 인코딩 방식이 따라 다른 파일의 종류를 의미하는 extension 임. - 이에 반해 text file은 널리 표준으로 사용되는 공개된 character encoding 만을 구현하면
쉽게 읽어 들여 처리가 가능하기 때문에 종류가 다른 프로그램들 간의 데이터 교환에 사용하기 쉬움.- 예를 들어, CSV 파일은 종종 다른 데이터베이스와 스프레드시트 프로그램 간과 같이 다른 S/W Application 간의 데이터 교환에 사용됨.
- 프로그램들 간의 데이터 전송 및 교환, 또는 데이터 직렬화에 사용되는 Data Serialization Languages 의 파일들도 모두 text file 의 일종임: JSON, YAML
- Document 나 Web page 를 위한 주요 파일 format 인 HTML, XML 등과 같은 Markup Languages 의 파일들도 text file 임.
더 읽어보면 좋은 URLs
https://ds31x.blogspot.com/2023/07/ce-markup-languages.html
https://dsaint31.tistory.com/205
2024.01.07 - [분류 전체보기] - [Term] JSON (JavaScript Object Notation)
2024.01.07 - [분류 전체보기] - [Term] YAML (Yet Another Markup Language)
'개발환경' 카테고리의 다른 글
[vscode] vscode 설치하기 (on Windows) (0) | 2024.02.05 |
---|---|
[linter] Linter (or Lint) (2) | 2024.02.03 |
[vscode] neovim extension : vscode에서 vi 로 편집하기. (1) | 2024.01.01 |
[vscode] Markdown+Math : vscode의 markdown에서 LaTeX수식 보기. (0) | 2024.01.01 |
[vscode] Markdown All in One : vscode를 markdown editor로. (0) | 2024.01.01 |