• :换行符 回车符??有区别??认真的吗?


    从前的从前,我一直以为回车即换行,换行即回车.
    这个"以为"维持了二十余年

    今天在了解这些转义符时,发现我的知识库又少了别人一截:

    "回车"(carriage return)和"换行"(line feed)是两个不同的概念:

    • 在很久很久以前,在计算机宝宝还没有出生之前,有一种叫做电传打字机(Teletype Model 33)的神器,每秒钟可以打 10 个字符。(嗯,好像很厉害的样子)
    • BUT,神器也是有 bug 的(转折这么快??!)。就是在打完一行换行的时候,会需要0.2秒的反应时间,而恰是这 0.2 秒,可以打两个字符,对,就是两个字符。要是在这 0.2 秒里面,又有新的字符传过来,那么这个字符将丢失。(扔进咸水海的那种丢失)
    • 所以,机智的研制人员想了个办法,就是在每行后面加两个表示结束的字符。一个叫做"回车",告诉打字机把打印头定位在左边界,即回到行首;另一个叫做"换行",告诉打字机把纸向下移一行。
    • 所以这两个概念诞生了,它们是 different 的,睁大眼睛看看。
    • 后来de后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,部分科学家认为在每行结尾加两个字符太浪费了,加一个就可以。
    • 于是,在多年后的今天,在不同操作系统中,有不同的操作符

    大佬们就不能和平统一一下吗??

    所以,现在,在不同的操作系统中,文件的实际换行符如下:(你经常也看不见它们)

    • linux,unix:
    • windows:
    • Mac OS:

    单个拆开来讲,就是:


    • 在 Windows 中,表示换行且回到下一行的最开始位置
      在 Mac OS 中, 啊不,在 Mac OS 里,用 符 飞速到达下一行的行首
      在 Linux、unix 中只表示换行,但不会回到下一行的开始位置(记住,人家用两个,豪气着呢)


    • 在 Linux、unix 中表示返回到当行的最开始位置,不会换行(记住,人家用两个,架势大)
      在 Windows 中, 啊不,Windows 中,人家用 符,飞速到达下一行行首
      在 Mac OS 中,表示换行且返回到下一行的最开始位置

    一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
    而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    SO Easy, 话咁易。get 到一点了

  • 相关阅读:
    欢迎参加MVP主讲的Windows 10开发线上课程
    SharePoint 2013 重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字
    SharePoint 2013 开发——SharePoint Designer 2013工作流
    SharePoint 2013 开发——构建工作流开发环境
    SharePoint 2013 开发——工作流架构
    SharePoint 2013 开发——APP安全模型
    SharePoint 2013 开发——SharePoint APP介绍
    SharePoint 2013 开发——概述
    win32
    hdu2100 26进制加法
  • 原文地址:https://www.cnblogs.com/wyy1480/p/10720360.html
Copyright © 2020-2023  润新知