文本文件
编辑文本文件是一种计算机文件,其结构为一系列电子文本。文本文件存储在计算机文件系统中,作为数据存储。在CP/M和MS-DOS等操作系统中,操作系统不以字节为单位跟踪文件大小,文本文件的末尾通过在文本文件中最后一行后放置一个或多个特殊字符(称为文件结束标记)作为填充来表示。在Microsoft Windows和类Unix系统等现代操作系统上,文本文件不包含任何特殊的EOF字符,因为这些操作系统上的文件系统以字节为单位跟踪文件大小。对于大多数文本文件来说,都需要行尾分隔符,根据操作系统,这些分隔符以几种不同的方式完成。一些具有以记录为导向的文件系统的操作系统可能不会使用新的行分隔符,而主要存储行分隔为固定或可变长度记录的文本文件。
“文本文件”是指容器类型,而纯文本是指内容类型。
在通用的描述级别上,计算机文件有两种:文本文件和二进制文件。
数据存储
编辑由于文本文件的简单性,通常用于存储信息。它们避免了其他文件格式遇到的一些问题,例如端点、填充字节或机器词中字节数的差异。此外,当文本文件中发生数据损坏时,通常更容易恢复并继续处理剩余内容。文本文件的一个缺点是它们通常熵低,这意味着信息占用的存储空间比严格意义上的要多。
一个简单的文本文件可能不需要额外的元数据(除了对其字符集的了解)来帮助读者进行解释。文本文件可能根本不包含任何数据,这是零字节文件的情况。
文本文件的编码
编辑ASCII字符集是英语文本文件最常见的字符集兼容子集,在许多情况下通常被认为是默认文件格式。它涵盖了美式英语,但对于英镑符号、欧元符号或英语以外使用的字符,必须使用更丰富的字符集。在许多系统中,这是根据读取计算机上的默认区域设置选择的。在UTF-8之前,这是欧洲语言的传统单字节编码(如ISO-8859-1至ISO-8859-16)和亚洲语言的宽字符编码。
由于编码必然只有有限的字符表,通常非常小,因此许多字符只能用于在有限的人类语言子集中表示文本。Unicode试图创建一个代表所有已知语言的共同标准,大多数已知字符集都是非常大的Unicode字符集的子集。虽然Unicode有多种字符编码,但最常见的是UTF-8,其优点是向后兼容ASCII;也就是说,每个ASCII文本文件也是含义相同的UTF-8文本文件。UTF-8还具有易于自动检测的优势。因此,支持UTF-8的软件在打开未知编码的文件时,常见的操作模式是先尝试UTF-8,当它绝对不是UTF-8时,则退回到与区域设置相关的遗留编码。
文本文件格式
编辑On most operating systems the name text file refers to file format that allows only plain text content with very little formatting (e.g., no bold or italic types). Such files can be viewed and edited on text terminals or in simple text editors. Text files usually have the MIME type text/plain
, usually with additional information indicating an encoding.
微软Windows文本文件
MS-DOS和Microsoft Windows使用通用文本文件格式,每行文本由两个字符组合分隔:回车(CR)和换行(LF)。通常情况下,最后一行文本不会用CR-LF标记终止,许多文本编辑器(包括记事本)不会自动在最后一行插入。
在Microsoft Windows操作系统上,如果文件名称(“文件扩展名”)的后缀为.txt
,则文件被视为文本文件。然而,许多其他后缀用于具有特定目的的文本文件。例如,计算机程序的源代码通常保存在文本文件中,这些文本文件中的文件名后缀表示编写源代码的编程语言。
大多数Microsoft Windows文本文件使用“ANSI”、“OEM”、“Unicode”或“UTF-8”编码。Microsoft Windows术语所称的“ANSI编码”通常是单字节ISO/IEC 8859编码(即微软记事本菜单中的ANSI实际上是“系统代码页”,非Unicode,传统编码,除了中文、日文和韩文等需要双字节字符集的地方。在过渡到Unicode之前,ANSI编码传统上在Microsoft Windows中用作默认系统区域设置。相比之下,OEM编码,也称为DOS代码页,由IBM定义,用于原始IBM PC文本模式显示系统。它们通常包括DOS应用程序中常见的图形和线条绘制字符。Unicode编码的Microsoft Windows文本文件包含UTF-16 Unicode转换格式的文本。此类文件通常以字节顺序标记(BOM)开头,该标记传达文件内容的端点。虽然UTF-8没有端点问题,但许多Microsoft Windows程序(即记事本)在UTF-8编码文件内容之前加上BOM,[2]以区分UTF-8编码和其他8位编码。
苹果麦金塔文本文件
在Mac OS X(现在称为macOS)出现之前,当其资源分叉显示文件类型为“文本”时,经典的Mac OS系统将文件内容(数据分叉)视为文本文件。Macintosh 文本文件行以 CR 字符终止。
macOS 经过 Unix 认证,文本文件使用 POSIX 格式。macOS 中用于文本文件的统一类型标识符 (UTI) 是“public.plain-text”;其他更具体的 UTI 是:utf-8 编码文本的“public.utf8-plain-text”,utf-16 编码文本的“public.utf16-external-plain-text”和“public.utf16-plain-text”,以及经典 Mac OS 文本文件的“com.apple.traditional-mac-plain-text”。
文本文件的渲染
编辑当文本编辑器打开时,人类可读内容将呈现给用户。这通常由用户可见的文件纯文本组成。根据应用程序的不同,控制代码可以呈现为编辑器操作的字面指令,也可以呈现为可见的转义字符,可以编辑为纯文本。虽然文本文件中可能存在纯文本,但文件中的控制字符(特别是文件末尾字符)可以使特定方法看不到的纯文本。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/122244/