小谈不同系统中的换行符 - CRLF/CR/LF

在不同系统中拷贝文本文件时, 大家应该就会发现, 文件拷贝后有时会遇到些问题.

比如下图是我在 Windows 下写的一个文本, 复制到 Linux 系统下时在每行的末尾会多出 ^M 字符.

 这其实就是不同系统间换行符的差异.

Windows 下使用的是 CRLF 两个字符, 而 Linux 下则是单独使用 LF 字符.

当然了, 早期的 MacOS (应该是MacOS 9及之前版本) 使用的是 CR 字符来换行.

Linux 下用来处理这种问题, 除了对文本进行批量字符替换外, 也可以借助于工具 dos2unix 来解决.

CR = Carriage Return, 意即 回车

LF = Line Feed, 意即 换行

有看过传统打字机运作的朋友应该更能理解, 回车是打字机的字车(印字头)回到最左边位置的动作, 换行则是辊子带动被打印纸张去到下一行的动作.

在 ASCII 码中,

CR 标识符是 \r , code 是 0x0d(13)

LF 标识符是 \n , code 是 0x0a(10)

发布了41 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/sean908/article/details/103738725