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

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

【问题讨论】:

标签: string newline line-breaks carriage-return linefeed


【解决方案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
猜你喜欢
  • 2019-03-07
  • 2016-11-13
  • 2011-06-16
  • 1970-01-01
  • 2012-03-22
  • 2012-06-20
  • 2021-04-06
  • 2016-06-28
相关资源
最近更新 更多