"line break" 和 "newline" 之间的技术差异?
Technical difference between "line break" and "newline"?
昨天我在 . While trying to specify the question with more tags, I realized that there are two similar tags available on Stack Overflow: newline and line-breaks 添加了一个答案。
differentiation between LF
and CR
很清楚。但是术语“换行符”和“换行符”有什么区别呢?他们不是彼此的同义词吗?
Stack Overflow 上的 newline 摘录说:
Newline refers to [...] a line break.
... 而来自维基百科的 disambiguation page of "Line break" 说:
Line break may refer to [...] newline.
从那个“换行”页面:
To denote a single line break, Unix programs use line feed
[...] while most programs common to [...] Windows use carriage return
+line feed
.
是否有任何技术标准或指南明确区分软件行业中的这两个术语?或者它们可以互换使用,没有技术差异?
我目前的假设是没有区别:“换行符”描述了 soft return (⇧ Shift+↵ Enter) 或 hard return (↵ Enter), 而“换行符”是“换行符”的技术术语,但具有相同的结果。
我将换行符解释为语义。当您看到 \n
时,您告诉排字员的话。 C语言的“new line”是换行的意思。这就好比ASCII中的A
(0x41)是拉丁字母a的大写。所以一个名字,一个代码,一个意思。
就像“SP”(\u0020
)是一个space字符。还有许多其他 space 字符:C 也将 TAB 识别为 space 字符。 HTML 将 新行 识别为 space 字符(而不是换行符(但在 <pre>
中)。
CR和LF是用ASCII定义的,一起使用是因为打字机通常是这样工作的,给更多的时间来移动(它们是串行连接的,所以有定时输入)。您可能会找到旧 ASCII 的扫描文档,了解控制字符的含义,但变化很大。 \0 现在是字符串的结尾,之前它只是一个填充字符(或退出序列)。 Apple 使用 CR,Unix LF 作为打字员用作换行符。
如果你想要一个名称和别名的列表,Unicode 提供了这样的名称(但通常会出现错误,所以 BELL 现在用于表情符号,所以 BEL 的旧别名不再有效,因为控制代码)。还有一些关于控制代码标准化的来源(主要用于转义序列等)。但这也不是完全的追随者。终端往往有怪癖。
昨天我在
differentiation between LF
and CR
很清楚。但是术语“换行符”和“换行符”有什么区别呢?他们不是彼此的同义词吗?
Stack Overflow 上的 newline 摘录说:
Newline refers to [...] a line break.
... 而来自维基百科的 disambiguation page of "Line break" 说:
Line break may refer to [...] newline.
从那个“换行”页面:
To denote a single line break, Unix programs use
line feed
[...] while most programs common to [...] Windows usecarriage return
+line feed
.
是否有任何技术标准或指南明确区分软件行业中的这两个术语?或者它们可以互换使用,没有技术差异?
我目前的假设是没有区别:“换行符”描述了 soft return (⇧ Shift+↵ Enter) 或 hard return (↵ Enter), 而“换行符”是“换行符”的技术术语,但具有相同的结果。
我将换行符解释为语义。当您看到 \n
时,您告诉排字员的话。 C语言的“new line”是换行的意思。这就好比ASCII中的A
(0x41)是拉丁字母a的大写。所以一个名字,一个代码,一个意思。
就像“SP”(\u0020
)是一个space字符。还有许多其他 space 字符:C 也将 TAB 识别为 space 字符。 HTML 将 新行 识别为 space 字符(而不是换行符(但在 <pre>
中)。
CR和LF是用ASCII定义的,一起使用是因为打字机通常是这样工作的,给更多的时间来移动(它们是串行连接的,所以有定时输入)。您可能会找到旧 ASCII 的扫描文档,了解控制字符的含义,但变化很大。 \0 现在是字符串的结尾,之前它只是一个填充字符(或退出序列)。 Apple 使用 CR,Unix LF 作为打字员用作换行符。
如果你想要一个名称和别名的列表,Unicode 提供了这样的名称(但通常会出现错误,所以 BELL 现在用于表情符号,所以 BEL 的旧别名不再有效,因为控制代码)。还有一些关于控制代码标准化的来源(主要用于转义序列等)。但这也不是完全的追随者。终端往往有怪癖。