我想知道CR LF
(Windows),LF
(Unix)和CR
(Macintosh)换行符类型之间的区别(如果可能的话)。
CR 和 LF 是控制字符,分别编码为0x0D
(十进制 13)和0x0A
(十进制 10)。
它们用于在文本文件中标记换行符。正如您所指出的,Windows 使用两个字符 CR LF 序列;Unix 仅使用 LF,而旧的 MacOS(pre-OSX MacIntosh)使用 CR。
从历史角度来看:
As indicated by Peter,CR =Carriage Return和 LF =Line Feed决定了另一个适用的语义,这两个表达式的根源在于旧的打字机 / TTY。LF 向上移动了纸张(但保持水平位置相同),CR 带回了“托架”,以便下一个键入的字符将位于纸张上最左侧的位置(但在同一行
大多数现代文本编辑器和面向文本的应用程序提供选项 / 设置等,允许自动检测文件的行尾约定并相应地显示它。
这是一个很好的总结,我发现:
回车 (CR) 字符 (0x0D
,\r
) 将光标移动到该行的开头,而不前进到下一行。此字符在 Commodore 和早期的 Macintosh 操作系统(OS-9 及更早版本)中用作新行字符。
Line Feed (LF) 字符 (0x0A
,\n
) 将光标向下移动到下一行而不返回该行的开头。此字符在基于 UNIX 的系统(Linux 、 Mac OSX 等)中用作新行字符
行尾(EOL)序列(0x0D 0x0A
,\r\n
)实际上是两个 ASCII 字符,是 CR 和 LF 字符的组合。它将光标向下移动到下一行和该行的开头。该字符在大多数其他非 Unix 操作系统(包括 Microsoft Windows,Symbian OS 等)中用作新行字符。
由于没有答案说明这一点,总结简洁:
回车(MAC pre-OSX)
CR
\ r
ASCII 码 13
换行(Linux 、 MAC OSX)
LF
\ n
ASCII 码 10
回车和换行(Windows)
CRLF
\ r\ n
ASCII 码 13,然后 ASCII 码 10
如果你看到 ASCII 代码在一个奇怪的格式,他们只是数字 13 和 10 在不同的基数 / 基地,通常基地 8(八进制)或基地 16(十六进制)。
http://www.bluesock.org/~willg/dev/ascii.html本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(47条)