多年来,我一直在使用C、Ruby、Perl、Java和PHP或许多其他语言,我只是把n
当作换行符。所以事实证明它只是";换行符";但被视为";Newline"?
以下是一些事实,其中一些来自维基百科的文章:
n
是Line Feed,而不是Newline,但几乎所有系统都将其视为";一条新线">- 理论上,
rn
实际上就是换行符,因为它将光标水平地移回第一个位置,并将光标向下移动一行。然而,尽管有些系统将其用作Newline(Windows),但有些系统只是将单个n
视为Newline(Unix、Linux、Mac) - 有些系统实际上具有Newline字符,例如在IBM大型机和ZX80上,但它从未成为ASCII中的字符,我们几乎从未使用过它
- 所以在ASCII中,我们实际上仍然只有回车
r
,它是0x0d
(十进制13),换行n
,它是0x0a(十进制10) - 就编程而言,输出
0x0a
字符意味着一个换行符,尽管实际上它只是换行符 - 理论上,如果我们输出
0x0a
,可以认为下一个输出将在与前一行相同的水平位置继续,而不是在最左边的位置,但在实践中,事实并非如此。在大多数系统中,它总是最左边的位置 r
仍然被一些程序用来保持在同一行上输出信息而不向上滚动。这是有效的,尽管我们永远不知道有多少";空格";打印出来以掩盖旧信息。可以通过ANSI转义序列