一只菜鸟横空出世, 码农世界闯一闯, 每天进展多一丢丢.
Windows,Unix,Mac 不同操作系统的换行问题 回车符 \ r 和换行符 \ n
一, 概念:
换行符'\n'和回车符'\r'
(1)换行符就是另起一行 --- '\n' 10 换行(newline)
(2)回车符就是回到一行的开头 --- '\r' 13 回车(return)
所以我们平时编写文件的回车符应该确切来说叫做回车换行符
CR: 回车(Carriage Return) \rLF: 换行(Line Feed) \n
二, 应用:
(1)在微软的 MS-DOS 和 Windows 中, 使用 "回车 CR('\r')" 和 "换行 LF('\n')" 两个字符作为换行符;
(2)Windows 系统里面, 每行结尾是 回车 + 换行(CR+LF), 即 "\r\n";
(3)Unix 系统里, 每行结尾只有 换行 LF, 即 "\n";
(4)Mac 系统里, 每行结尾是 回车 CR 即'\r'.
Mac OS 9 以及之前的系统的换行符是 CR, 从 Mac OS X (后来改名为 "OS X")开始的换行符是 LF 即'\n', 和 Unix/Linux 统一了.
三, 影响:
(1)一个直接后果是, Unix/Mac 系统下的文件在 Windows 里打开的话, 所有文字会变成一行;
(2)而 Windows 里的文件在 Unix/Mac 下打开的话, 在每行的结尾可能会多出一个 ^M 符号.
(3)Linux 保存的文件在 windows 上用记事本看的话会出现黑点.
四, 可以相互转换:
在 linux 下, 命令 unix2dos 是把 linux 文件格式转换成 windows 文件格式, 命令 dos2unix 是把 windows 格式转换成 linux 文件格式.
在不同平台间使用 FTP 软件传送文件时, 在 ascii 文本模式传输模式下, 一些 FTP 客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化.
如果你不想 ftp 修改原文件, 可以使用 bin 模式 (二进制模式) 传输文本.
一个程序在 windows 上运行就生成 CR/LF 换行格式的文本文件, 而在 Linux 上运行就生成 LF 格式换行的文本文件.
菜鸟随笔(1)---Windows,Unix,Mac 不同操作系统的换行问题 回车符 \ r 和换行符 \ n
来源: http://www.bubuko.com/infodetail-2671332.html