Linux中CR、LF和CRLF的换行符详解(linux中的换行符)

Linux中的换行符有CR(Carriage Return)、LF(Line Feed)和CRLF(Carriage Return & Line Feed)三种,它们一般以0x0D(CR)、0x0A(LF)和0x0D 0x0A(CRLF)的字节序列表示,常用于文本文件,用于标识文本中的换行标识。

为了明白它们各自的区别,要从它们的发明历史说起。据考证,换行最早是具有进纸功能的机器引入,它的工作原理类似于今天的打字机,每有一行文字输入完毕,它便会自动回车,也就是执行一个“回车”命令。回车又分为两个操作,一是将纸盘一保存当前光标位置(CR-Carriage Return),二是将光标换行(LF-Line Feed)。所以,双操作被称作“回车换行”,随着电脑技术的发展,这种行为也被描述为一个特殊的字符:CRLF(Carriage Return & Line Feed)。

0x0D(CR)在Linux系统中用作换行符,它与LF 0x0A(LF)一起使用时,表示回车换行符(CRLF),并且它们各自也可以单独使用,效果也不一样。

例如,以下代码中涉及两个换行符:

#include 
int main(){
printf("Hello, World!\r\n");
printf("Hello, CR!\r");
printf("Hello, LF!\n");
printf("Hello, CRLF!");
return 0;
}

它输出结果如下:

Hello, World!
Hello, CR!
Hello, LF!
Hello, CRLF!

可以看出,只有使用”\r\n”才能看到完整的换行符。

总结:

Linux中的换行符有CR、LF和CRLF三种,它们的意义分别为CR(Carriage Return)、LF(Line Feed)和CRLF(Carriage Return & Line Feed),分别以0x0D,0x0A和0x0D 0x0A的字节序列形式表示,用于标识文本的换行标识。使用时要注意,只有使用CRLF(0x0D 0x0A)才能完整地实现换行操作。


数据运维技术 » Linux中CR、LF和CRLF的换行符详解(linux中的换行符)