“换行”和“回车”有啥区别?

Posted

技术标签:

【中文标题】“换行”和“回车”有啥区别?【英文标题】:What is the difference between a "line feed" and a "carriage return"?“换行”和“回车”有什么区别? 【发布时间】:2012-09-26 16:43:10 【问题描述】:

如果有两个关键字,那么它们必须有自己的含义。所以我想知道是什么让它们与众不同以及它们的代码是什么。

【问题讨论】:

看看***:en.wikipedia.org/wiki/Carriage_Return#Computers What are carriage return, linefeed, and form feed?的可能重复 看看这篇文章,把一切都清清楚楚digital.ni.com/public.nsf/allkb/… 【参考方案1】:

换行表示向前移动一行。代码是\n回车表示将光标移动到行首。代码是\r

Windows 编辑器通常仍然在文本文件中使用两者的组合作为\r\n。 Unix 大多只使用\n

分离来自打字机时代,当您转动***移动纸张以更改行并移动马车以在行首重新开始打字时。这是两个步骤。

【讨论】:

你会认为即使是旧打字机也应该考虑让 \n 代表两个步骤。 @ColacX 当需要覆盖当前行上的文本时,执行不带换行符的回车通常很有用。这适用于打字机和终端。 因此,在 Windows 中,行尾的正确顺序应类似于 \n\r? @Delfino 不是真的。在机械打印机上,提前启动回车是有意义的,因为它速度较慢,并且在回车仍在移动时进纸。 不要忘记旧的 Mac 只使用 \r【参考方案2】:

由于没有足够的奖励积分,我无法发表评论,我必须回答@Burhan Khalid 给出的正确答案。 在非常外行的语言中,输入键是回车和换行的组合。 回车将光标水平指向行首,换行将光标垂直移动到下一行。两者的结合为您提供换行 (\n) 效果。 参考——https://en.wikipedia.org/wiki/Carriage_return#Computers

【讨论】:

还有,电脑代替打字机,就成了断行断段的区别——文字处理。 这似乎只是在谈论 Windows。这对于类 Unix 系统有点是正确的,但是文本文件只包含换行符 \n,当它在屏幕上显示时显示为换行符 + 回车符。【参考方案3】:

这两者都是从旧印刷时代开始的。

回车是从电传打印机/旧打字机时代开始的,从字面上看,马车会返回到下一行,并将纸张向上推。这就是我们现在所说的\r

换行LF 表示行结束,表示行已结束 - 但不会将光标移动到下一行。换句话说,它不会将光标/打印机头“返回”到下一行。

如需更多详细信息,请联系强大的wikipedia。

【讨论】:

我相信回车是指移动到同一行的开头,而不是移动到下一行。打字机的类比是指垂直向下移动到下一行(换行)和水平返回到行的开头(回车)。 en.wikipedia.org/wiki/Carriage_return

以上是关于“换行”和“回车”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 中的“\n”(换行符)和“\r”(回车符)有啥区别?

Java中的字符文字'\n'和'\r'有啥区别?

关于换行符CR和LF的区别

h5键盘区分换行和回车

在 C# 中,\n 和 \r\n 有啥区别?

回车符和换行符之间的区别