回车,换行和换行

arv*_*han 23 document lf indentation

回车,换行和换行有什么区别?它取决于操作系统吗?为什么我们需要使用所有这些只是为了进入下一行?

jra*_*jav 29

通常,"新行"是指通常被解释为用信号通知新行的任何字符集,其可包括:

  • DOS/Windows上的CR LF
  • CR在较旧的Mac上
  • LF上的变种,包括现代Mac

CR是回车符ASCII字符(代码0x0D),通常表示为\ r \n. LF换行符(代码0x0A),通常表示为\n.

基于打字机的原始计算机需要这两个字符,它们完全按照它们的说法执行:CR将托架返回到纸张的左侧,LF将其送入一行.Windows保持这个序列不被修改,而Unix变体只有在象征性地需要时才选择更高效的字符使用.

如果需要在代码中表示此序列,请确保查找与平台无关的新行符号或函数.如果没有,至少要确保您考虑上述三种变体.

更多关于历史:http://www.codinghorror.com/blog/2010/01/the-great-newline-schism.html

  • 值得注意的是,C 转义码“\n”中的“n”是“newline”的缩写,因此该换行符有时简称为“换行符”。 (4认同)
  • `\n` 与 `LF` 不同 - 它具有表示用于换行的特定于操作系统的符号的特殊含义。Unix 选择将“向下一行”与“向下一行到行首”相同,其他系统选择不同。更重要的是 - 源代码一开始就不需要是 ASCII - 所以根本没有“LF”。 (2认同)