回车和换行的来历与区别
回车和换行的来历与区别
”回车”(carriage return)和”换行”(line feed)这两个概念的来历和区别
这两种概念来源于一种叫做电传打字机(Teletype Model 33)的机器,”回车”意思是告诉打字机把打印头定位在左边界;”换行”意思是告诉打字机把纸向下移一行。
\r (Carriage Return)
:将光标移动到行首而不前进到下一行
\n (Line Feed)
:将光标向下移动到下一行,而不返回到该行的开头。在 *nix 环境上 \n
意味着移动到行首。
\r\n (End Of Line)
: \r
和 \n
的结合
Unix/Linux系统里,每行结尾只有<换行>
,即\n
Windows系统里面,每行结尾是<回车><换行>
,即\r\n
;
Mac系统里,每行结尾是<回车>
。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M
符号。