linux换页符号,关于换行符:什么是回车符,换行符和换页符?

以下控制字符的含义是什么:

回车

换行

换页

"回车"是什么意思? 我在笔记本电脑上看不到任何"托架""返回"。:

@JeanHominal基本上是指光标(或古代打字机中的指针),而return则意味着返回到该行的开头。

我没有在"终端""窗口"中看到任何电线端接(或与此相关的任何玻璃窗格),也没有在/ dev / tty1上附加" teletype"。 他们都变成了隐喻。

回车指的是返回当前行的开头而不向下移动。该名称来自打印机的托架,因为在创建该名称时很少使用监视器。通常将其转义为" r"(缩写为CR),并具有ASCII值13或0x0D。

换行意味着向下前进到下一行;但是,它已被重新调整用途并重命名。用作"换行符",它终止行(通常与分隔行混淆)。通常将其转义为" n",缩写为LF或NL,并且具有ASCII值10或0x0A。 CRLF(而不是CRNL)用于" r n"对。

换页意味着向下前进到下一个"页面"。它通常用作页面分隔符,但现在也用作部分分隔符。 (在源代码中通常不使用它来划分逻辑上独立的函数或函数组。)当您"插入分页符"时,文本编辑器可以使用此字符。通常将其转义为" f"(缩写为FF),并具有ASCII值12或0x0C。

作为控制字符,可以用各种方式来解释它们。

最常见的区别(也许是唯一值得担心的区别)是:在Windows上以CRLF结尾,在类Unix上以NL结尾,而在较旧的Mac上以CR结尾(在OS X方面已经改变为与Unix相似)。请注意,从LF到NL的含义转换,对于完全相同的字符,给出了Windows和Unix之间的差异。 (Windows当然比Unix更新,因此它没有采用这种语义转换。我不知道使用CR的Mac的历史。)许多文本编辑器可以读取这三种格式中的任何一种并在它们之间进行转换。 ,但并非所有实用程序都可以。

换页有点有趣(尽管很少直接使用),并且使用页面分隔符的常规定义,换页只能在行之间(例如,在NL,CRLF或CR的换行符之后)或在开始或结束时出现。文件末尾。

我可以确认OS X使用NL作为行终止符,就像Unix(因为OS X是Unix)一样。 CR在Mac OS 9及以下版本中使用。

FF字符在今天可能看起来很奇怪(连同" CTRL-G"钟形字符),但是当视频显示变得不那么普遍并且硬拷贝终端用作数据显示时,它具有更大的相关性。

进纸控件\x0c不是吗?

"我不知道使用CR的Mac的历史。"那可能来自使用CR的Apple II。 CR在Commodore和Tandy等其他8位系统上也很常见。 ASCII在这些系统上不是通用的:Commodore使用PETSCII,其LF为0x8d(!)。 Atari根本没有LF角色。无论出于何种原因,CR = 0x0d都是差不多的标准。

是回车符,将光标向后移动,就像我会做的那样-

printf("stackoverflow

nine")

ninekoverflow

表示它已将光标移至" stackoverflow"的开头并覆盖了起始的四个字符,因为"九"的长度为四个字符。

是换行符,它更改行并将光标移至新行的开头,例如-

printf("stackoverflow

nine")

stackoverflow

nine

\f是换页,它的使用已过时,但它用于像

printf("stackoverflow\fnine")

stackoverflow

nine

如果我会写像-

printf("stackoverflow\fnine\fgreat")

stackoverflow

nine

great

但是这个例子不适用于高级语言!

@?I ?? K ??????我确实这样做:您至少可以使用coreutils中的printf实用程序在Linux shell中执行相同的操作。甚至使用内置的bash echo -en。

如何将所有行作为文件中的一行传递?

换页不用于缩进。如果您将其中很少的打印机发送到打印机,则会吐出纸张。您所描述的\f实际上是\v-一个垂直选项卡,授予它们在控制台中看起来相同。

printf("123\f456\f789");在控制台上显示/> 123456789 bold>。

看一下维基百科:

Systems based on ASCII or a compatible character set use either LF (Line feed, '

', 0x0A, 10 in decimal) or CR (Carriage return, '

', 0x0D, 13 in decimal) individually, or CR followed by LF (CR+LF, 0x0D 0x0A). These characters are based on printer commands: The line feed indicated that one line of paper should feed out of the printer, and a carriage return indicated that the printer carriage should return to the beginning of the current line.

\f用于分页符。

您不会在控制台中看到任何效果。但是,当您在文件中使用此字符常量时,您会看到区别。

另一个示例是,如果您可以将输出重定向到文件,则不必编写文件或使用文件处理。

例如:

用C ++编写此代码

void main()

{

clrscr();

cout<

cout<

cout<

}

并在编译时生成一个exe(例如abc.exe)

那么您可以使用以下命令将输出重定向到文件:

abc > xyz.doc

然后打开文件xyz.doc,您可以看到hellooo和hiiii之间的实际分页符。

除上述信息外,还有LF( n)和CR( r)的有趣历史记录。

[原文作者:阮一峰资料来源:http://www.ruanyifeng.com/blog/2006/04/post_213.html]

在计算机问世之前,有一台名为Teletype Model 33的电传打印机。它每秒可以打印10个字符。但这有一个问题,在完成每行的打印后,需要0.2秒才能移到下一行,这是打印2个字符的时间。如果在此0.2秒钟内传输了新字符,则该新字符将丢失。

因此,科学家们找到了一种解决此问题的方法,他们在每行之后添加两个结尾字符,一个是"回车",即告诉打印机将打印头移到左侧。另一个是"换行",它告诉打印机将纸张向上移动1行。

后来,计算机开始流行,这两个概念被用在计算机上。当时,存储设备非常昂贵,因此一些科学家表示,在每行末尾添加两个字符非常昂贵,一个字符就足够了,因此对于使用哪个字符存在一些争议。

在UNIX / Mac和Linux中,将' n'放在每行的末尾,在Windows中,将' r n'放在每行的末尾。这种使用的结果是,如果在Windows中打开,则UNIX / Mac中的文件将显示在一行中。如果在UNIX或Mac中打开,则Windows中的文件每行末尾会有一个^ M。

随着OSX的发布(基于BSD UNIX),Mac切换到 n-Unix行尾。

"如果在Windows中打开,则UNIX / Mac中的文件将显示在一行中。" WRITE.EXE(又名写字板)可以很好地显示它们。

在旧的纸张打印机终端上,前进到下一行涉及两个操作:将打印头移回水平扫描范围的起点(回车)和前进要打印的纸卷(换行)。

由于我们不再使用纸质打印机终端,因此这些动作不再是真正相关的,但是用来表示它们的字符已经在各种形式中徘徊。

实际上,回车并不会使打印头移至左侧,而是使将压纸卷筒保持在右侧的托架。过去有一个很长的杠杆,它是由左手操纵的。参见en.wikipedia.org/wiki/Typewriter

@MarkLakata对打字机来说是正确的,但是这个答案是关于旧印刷终端的。例如,DEC LA36(columbia.edu/cu/computinghistory/la36.html)。

考虑一台IBM 1403 Impact打印机。 CR将打印头移至行的开头,但没有推进纸张。这允许"套印",将多行输出放在一行上。像下划线这样的事情是通过这种方式实现的,大胆的印刷也是如此。 LF将纸张推进了一行。如果没有CR,由于LF不会移动打印头,因此下一行将以交错步骤打印。 FF将论文推进到下一页。通常,它还会将打印头移到新页面第一行的开头,但是您可能需要使用CR。可以肯定的是,大多数程序员在页面最后一行的末尾编码CRFF而不是CRLF,因为FF创建的额外CR无关紧要。

这是唯一说明回车的完整含义的答案。

作为补充,

1,回车:这是一种打印机术语,表示将打印位置更改为当前行的开头。 在计算机世界中,多数情况下意味着返回当前行的开头,但很少代表新行。

2,换行:这是打印机的术语,表示将纸张前进一行。 因此,回车和换行一起用于在新行的开头开始打印。 在计算机世界中,它通常与换行符具有相同的含义。

3,换页:这是打印机术语,我喜欢此主题中的解释。

If you were programming for a 1980s-style printer, it would eject the

paper and start a new page. You are virtually certain to never need

it.

http://en.wikipedia.org/wiki/Form_feed

它几乎已经过时了,您可以参考转义序列 f-换页-究竟是什么? 详细说明。

注意,在某些平台上,我们可以使用CR或LF或CRLF来表示换行符,但在某些其他平台上,它们不能支持换行符。 有关详细信息,请参阅Wiki Newline。

LF: Multics, Unix and Unix-like systems (Linux, OS X, FreeBSD, AIX,

Xenix, etc.), BeOS, Amiga, RISC OS, and others

CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, Apple

II family, Oberon, the classic Mac OS up to version 9, MIT Lisp

Machine and OS-9

RS: QNX pre-POSIX implementation

0x9B: Atari 8-bit machines using ATASCII variant of ASCII (155 in

decimal)

CR+LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10,

RT-11, CP/M, MP/M, Atari TOS, OS/2, Symbian OS, Palm OS, Amstrad CPC,

and most other early non-Unix and non-IBM OSes

LF+CR: Acorn BBC and RISC OS spooled text output.

回车和换行也与打字机有关,因为只需轻轻滑动一下左侧托架上的手柄(纸张进入的位置),纸张就会在滚筒上旋转少量,从而使滚筒前进。记录一行。如果您已经完成了一行的输入并且想要继续到下一行,则您会用力地推动,前进一行并将滑架一直滑到最右边,然后在每次击键移动时再次恢复从左到右的输入。不用说,自动换行是该时代所有文字处理的默认设置。病人:d

" n"是换行符。这意味着结束当前行并为正在阅读的任何人转到新行。

这些是非印刷字符,与"换行"的概念有关。 n是换行符。 r是回车符。在不同的平台上,相对于有效的新行,它们具有不同的含义。在Windows中,新行是 r n。在Linux中, n。在Mac中, r。

实际上,您可以将它们放在任何字符串中,这会影响字符串的打印输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值