当前位置:首页 > 话题广场 > 问答专区 > 科技

打印机的页面怎么换行打字?总结很全面速看!关于换行符的解释

文字行的末尾

通常,操作系统使用CR LF来表示文本行的结尾。


这个惯例的起源,来自于电传打印机那个时代。
CR控制字符会将打印机的印刷头(也叫做Carriage)移动到行首(第0列),同时不会进纸。
而LF控制字符会进一行纸,同时不会移动印刷头。

所以,如果你想要将印刷头移动到行首(这样打印机会另起一行),同时进纸的话,则你需要同时发送CR和LF这两个控制字符。

如果你研究过各种RFC协议文档,例如RFC0821(SMTP), RFC1939(POP), RFC2060(IMAP)或者RFC2616(HTTP),则你会发现:它们都在文档里使用了CR+LF作为一行的结束符。所以,真正的问题不是:为什么操作系统使用CR+LF作为行结束符,而是:为什么还有其他一些人使用与标准文档不同的行结束符。

Unix操作系统接受LF作为行结束符。如果你仔细地研究一下stty工具的说明文档,你会发现:onlcr选项指明了是否将一个LF字符转换为CR+LF序列。
如果你正确地使用此设定,则你会得到类似如下的递进式文本:


因为这些文本行都没有将输入移动到行首。所以即使是Unix操作系统,当处于原始模式时,都会要求CR+LF作为行结束符。一个隐含的CR字符会放在LF前面,这可能是Unix的一个不同之处,另一方面,它也比较”经济”,因为每行只需要一个字符作为行结束符。

Unix中的C语言将这一转换带到了标准C语言中,也即:它会要求在行尾添加一个”\n”(就是LF的编码)字符,然后将LF转换为CR+LF的任务就丢给了运行时库来做。

在C语言中,还引入了一个名词”newline”来表达一个通用的行结束符。我听说ASCII委员会在1996年左右将字符0x0A作为”newline”的编码,所以,这就更加让人迷惑了。

总结

请记得:\n是一个转义字符,表示LF,而\r则表示回车(CR)。
所以,在Unix系统里,只使用\n,而在Windows里,使用\r\n作为行结束符。
这就会导致这样一个结果:Unix碰到\n时,会进行CR+LF操作,而单单一个\r(CR)不会进行换行,而是显示为一个控制字符(^M)。
在Windows中,需要使用”\r\n”来进行换行,如果只使用\n或者只使用\r,或者它们顺序不对,都会导致换行失败。
以上内容,又进一步解释了这样一个现象:
Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

真乃:傻傻分不清楚啊。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why is the line terminator CR+LF?》

1.《打印机的页面怎么换行打字?总结很全面速看!关于换行符的解释》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《打印机的页面怎么换行打字?总结很全面速看!关于换行符的解释》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/2969269.html

上一篇

碳粉又完了!自己动手添加打印机碳粉,省省省!

下一篇

「番外」彩色喷墨打印机的基本使用方法

打印机的页面怎么换行打字?终于找到答案了中琅条码打印软件如何实现英文自动换行

打印机的页面怎么换行打字?终于找到答案了中琅条码打印软件如何实现英文自动换行

打印机的页面怎么换行打字相关介绍,众所周知,中郎条形码打印软件是一款可变数据打印软件,专门打印各种条形码队列(QR)代码产品标签。因为可以打印各种产品标签,所以它确实可以包含一些英语标签。最近在收到反馈。软件中英文不能自动换行。换行时...

打印机的页面怎么换行打字?我来告诉你答案办公小巧门,告别慢吞吞的爱普生

打印机的页面怎么换行打字?我来告诉你答案办公小巧门,告别慢吞吞的爱普生

打印机的页面怎么换行打字相关介绍,将2014年4月之前出厂的LQ-630K转换为超高速方法: 1、关闭打印机电源。 2、同时按住“进纸/退纸键”和“暂停键”然后打开打印机的电源,按住大概5s,等待打印头开始移动后松手,打印机会打印出一...