1. 回车与换行符的起源
在打字机时代, 回车(CR, Carriage Return)指打印针回到行首, 换行(LF, Line Feed)指打印针移到下一行. 当计算机出现时, 发现不再需要两个字符来表示换行符, 所以UNIX和Mac平台均只有一个字符来表示换行符, 而Windows沿用了打字机的换行方式. 如果用十六进制的ASCII值表示, LF是0X0A, CR是0X0D.
1. Windows平台的换行符
Windows平台的换行符是CR+LF. 十六进制的ASCII值为0D0A. 在Windows系统中新建一个文本文件test.txt, 使用内置的记事本打开它, 键入如下的代码:
int main() {
return 0;
}
使用可以查看十六进制的编辑器(如 PSPad), 打开text.txt, 进入十六进制模式, 即可看到其换行的值(0D0A):
或者使用Notepad++查看其换行符:
2. UNIX & Mac OSX平台的换行符
UINX平台的换行符是LF(0X0A). 在ubuntu linux下使用vi键入上述相同的代码, 查看其十六进制的数据:
使用Notepad++查看其换行符:
Mac OSX平台的换行符目前我还没有设备去测试.
3. MAC (OS-9及更早版本)平台的换行符
换行符为CR(0X0D). 本人没有亲自测试.
4. 不同平台间的换行符转换
请参考另一篇博文: 不同平台间的换行符转换
http://www.maxi-pedia.com/Line+termination+line+feed+versus+carriage+return+0d0a
http://www.maxi-pedia.com/carriage+return+and+line+feed+linefeed+problems
http://www.pspad.com/en/