换行和回车究竟有什么区别 换行和回车是一个键吗


"空白字符"一章有介绍打字机换行和回车的差异,不同操作系统的实现也不太一样。


操作系统"换行"的不同形态

  • Mac Classic
    • Mac OS 9及更早版本中,使用的是\r作为行结束符。
  • macOS
    • 从Mac OS X(现在称为macOS)开始,Mac系统也逐渐转向使用\n.
  • Windows
    • 和打字机对应,回车+换行 "\r\n"
  • Linux
    • 换行符'\n'


为什么文本文件"\r\n"和"\n"效果似乎无差别?

  • 现代操作系统已经不会像计算机早期那样,用打字机模式‘\r’是打字头回归开始,'\n'是打字头换到下一行,它们只需要换行就够了。例如Windows操作系统会对"\r\n"特别处理,只会对应换行。所以,现代操作系统可能无视'\r',实际作用只有'\n'.
    • 值得注意的是,毕竟'\r'和'\n'对应的ASCII码不同,用Linux打开Windows系统的文本文件可能出现有特殊字符,要理解这可能是回车换行符的差异。
  • 注意,如果是代码中用"\r\n"可能意味着是两次换行,和文本文件的表现可能有差异。
    • 例如C语言和Python输出"\r\n"会出现两次换行。


兼容的换行符

  • C# 可以使用 System.Environment.NewLine 指代换行符,在Windows等同于 \r\n, 在Linux平台等同于 \n.
    String s = "a" + Environment.NewLine + "b";
    Console.WriteLine(s.Length); // Windows: 4, Linux: 3








若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

相关文章

oeasy教您玩转python - 9 - # 换行字符

换行字符回忆上次内容数制可以转化bin(n)可以把数字转化为 2进制hex(n)可以把数字转化为 16进制int(n)可以把数字转化为 10进制编码和解码可以转化encode 编码decode 解码A...

如何在python字符串输出中带换行符

之前写了一个采集代码,采集到的20条内容需要邮件发送出去。但是不知道为什么当时就是解决不了换行符的问题,因为解决不了的话发出去的邮件就是一大坨,没有可读性。今天重新学习的时候突然间就觉得这个东西很简单...

Python中print函数使用方法汇总,涨知识了

Print在日常的程序编写和调试中,使用的比较多,下面给大家详细分析下print不为人知的一些功能,比如print可以打印指定颜色的字体,可以将指定的内容打印输出到文件中去等。Print的完整语法格式...

「oeasy」python0020换行字符_feed_line_lf_反斜杠n_B语言_安徒生

换行字符回忆上次内容struct包可以让我们使用封包格式把数字封包到字节里pack函数负责封包unpack函数负责解封我们通过封到不同的字节状态遍历了一次ascii码还是有那片黑色的区域好像是一片黑暗...

「零基础学Python」Python中转义字符如何使用的?

一、什么是转义字符?√就是反斜杆+想要实现的转义功能首字母,表达特殊含义。二、为什么需要转义字符?√当字符串中包含换行、回车、水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符当字符串中包...

python代码是如何执行的? python代码运行按哪个键

解释运行程序 回忆上次内容py 文件的程序是按照顺序一行行挨排解释执行的我们可以 python3 -m pdb hello.py 来对程序调试调试的目的是去除 bug别害怕 bugbug 会有提示我们...