无需登录 数据私有 本地保存

文本换行符在线转换 - LF / CRLF / CR 互换

97
0
0
0

术语表与换行符知识库

为了帮助用户更好地理解换行符转换工具涉及的技术概念,以下整理了一份详细的术语表和知识库,涵盖换行符相关的基础知识、操作系统差异、版本控制集成以及常见应用场景。

换行符基础术语

换行符(Line Ending / Line Break)
文本文件中用于标识一行结束的特殊字符或字符序列。在不同的操作系统和编码标准中,换行符的表示方式有所不同。换行符在文件中通常是不可见的,但在某些编辑器中可以通过显示隐藏字符功能查看。
LF(Line Feed,\n)
换行符的 Unix 标准表示,ASCII 码值为 10(十进制)或 0x0A(十六进制)。LF 字面含义为"行进给",指示光标移动到下一行的起始位置。这是 Unix、Linux 和 macOS(10.0 及以上版本)系统中使用的标准换行符。
CRLF(Carriage Return + Line Feed,\r\n)
换行符的 Windows 标准表示,由两个字符组成:CR(回车符,ASCII 码 13)和 LF(换行符,ASCII 码 10)。CR 的原始含义是将打印头(字车)返回到行首,LF 则将纸张向上移动一行。两者组合使用是 Windows 系统(包括 DOS)的标准做法。
CR(Carriage Return,\r)
回车符,ASCII 码值为 13(十进制)或 0x0D(十六进制)。在早期的 Mac OS 9 及更早版本中,CR 被单独用作换行符。现代 macOS 已改用 LF 标准。CR 单独作为换行符的情况已极为罕见。
Unicode 换行符(U+2028 LINE SEPARATOR 和 U+2029 PARAGRAPH SEPARATOR)
Unicode 标准中定义的行分隔符和段分隔符。这些字符在普通文本处理中很少使用,但在某些特定的文本格式和编程语言中有所应用。与传统的换行符不同,Unicode 换行符是真正的"行"和"段"分隔语义。

操作系统与编码相关术语

ASCII(American Standard Code for Information Interchange)
美国信息交换标准代码,是一种基于拉丁字母的字符编码系统。ASCII 使用 7 位二进制数表示 128 个字符,包括英文字母、数字、标点符号和控制字符。换行符(LF 和 CR)属于 ASCII 控制字符的一部分。
UTF-8
一种广泛使用的 Unicode 字符编码标准,能够表示 Unicode 标准中的所有字符。UTF-8 与 ASCII 完全兼容,即 ASCII 字符在 UTF-8 编码中的表示与原始 ASCII 完全相同。换行符在 UTF-8 编码中的表示与 ASCII 相同。
编码(Encoding)
将字符转换为计算机可存储和处理的数字编码的过程。不同的编码标准对同一字符可能有不同的表示方式。在处理换行符时,通常不需要考虑编码差异,因为 LF 和 CR 在所有主流编码中都有相同的表示。
BOM(Byte Order Mark)
字节顺序标记,是放置在文件开头的特殊标记,用于指示文件的编码格式和字节序。某些 Windows 文本文件会包含 BOM 标记,这可能在 Unix 系统上造成问题。处理换行符时,BOM 通常不影响检测和转换过程。

版本控制与开发工具术语

Git
目前最流行的分布式版本控制系统,由 Linus Torvalds 创建。Git 在处理换行符方面有特殊机制,包括 core.autocrlf 配置选项,可以在提交和检出时自动转换换行符。理解 Git 的换行符处理机制对于跨平台协作至关重要。
core.autocrlf
Git 的一个配置选项,用于控制换行符的自动转换行为。设置为 true 时,提交时将 CRLF 转换为 LF,检出时将 LF 转换为 CRLF。设置为 input 时,只在提交时转换(CRLF 转 LF),检出时不转换。设置为 false 时,不进行任何自动转换。
.gitattributes
Git 仓库中的配置文件,用于指定特定文件或文件类型的 Git 处理方式。可以通过 .gitattributes 文件精确控制哪些文件应该使用 LF 换行符,哪些文件应该保持 CRLF 格式。这对于混合平台项目非常有用。
EditorConfig
一种文件格式和一组文本编辑器插件,用于在不同编辑器和 IDE 之间定义和维护一致的编码风格。通过 .editorconfig 文件可以指定文件的换行符格式(lf、crlf 或 cr),确保团队成员使用相同的换行符标准。

文件格式与处理术语

纯文本文件(Plain Text File)
仅包含文本字符(包括换行符)的文件,不包含任何格式化信息、图片或其他二进制数据。常见的纯文本文件扩展名包括 .txt、.csv、.log 等。代码文件(如 .js、.py、.html)本质上也是纯文本文件。
行(Line)
文本文件中由换行符分隔的一段连续字符序列。在文本编辑器中,一行通常显示为屏幕上的一个水平行。行的概念是文本处理的基础,许多操作(如查找、替换、排序)都是以行为单位进行的。
空白字符(Whitespace)
在文本中不显示任何可见内容但占据空间的字符,包括空格、制表符(Tab)和换行符等。换行符是空白字符的一种,在文本处理中需要特别注意其不可见特性。
正则表达式(Regular Expression)
一种用于匹配字符串模式的强大工具。在换行符检测和转换中,正则表达式常用于识别和替换不同类型的换行符。例如,正则表达式 /\r\n|\n|\r/ 可以匹配所有三种换行符类型。

常见场景术语

跨平台兼容性(Cross-platform Compatibility)
软件或文件能够在不同操作系统(如 Windows、Linux、macOS)上正常工作的能力。换行符的统一处理是实现跨平台兼容性的重要环节之一。
代码风格(Code Style)
编程中遵循的一套编码规范和约定,包括缩进、命名、注释以及换行符格式等。统一的代码风格有助于提高代码的可读性和可维护性。
构建失败(Build Failure)
软件构建过程因各种原因未能成功完成的情况。换行符问题可能导致 Shell 脚本在 Linux 上执行失败,或导致配置文件解析错误,从而引起构建失败。