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

拥有回忆 提交于 2019-12-28 00:40:44

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

比如下图是我在 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)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!