telnet 到邮件服务器发邮件的时候最后提示输入.结束,然后纠结了半天。索性搞清楚吧。
<CR>我们叫回车,ASCII码 '\r' 0x0D.
<LF>换行,ASII码 '\n' 0x0A.

至于为什么有这两个概念,是因为键盘和显示器的老祖宗电传打字机,(teletype,这也是为什么我们的终端都叫TTY*了),屏幕上简单的回车换行操作在打字机上比较麻烦,因为首先要把打印头移回到最左边,然后负责纸张移动的滚筒也要向上滚动一格,把下面的白纸移动到打印头下面。
最后这两个操作也遗留到了计算机体系上。

Image Title

Dos和Windows一直遵循传统(- -),我们一般敲一个Enter键输入的是两个字符,'\r\n'.
(之所以说一般,windows还区分软回车和硬回车,搞设计的可以了解下)。

Linux只使用,就是Linux程序员熟悉的'\n'了。顺便解释了为什么Linux环境打开windows上的文本文件经常会出现很多^M符号了,这个Linux上显示'\r'的方式。另外想要打出'\r'的方式是crtl+v,ctrl+m.

Mac转到OS X后使用单一的表示换行。

没什么好说的了。各家公司和组织都对计算机业做出了不可磨灭的贡献,可是很多地方还是难以避免程序员的那种自大和固执。