首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

回车换行故事

以前在学汇编时候,一直不知道老师在换行时,总会打一个换行符和回车符,原来他们还有这么一个故事…....为了解决这个字符丢失问题,研制人员就在每行后面添加了两个表示一行结束字符:一个叫回车(carriage return),相当于告诉打字机,把光标在水平方向上移到最左边;一个叫换行(line feed...这就是回车换行由来。 后来,计算机出现了,这两个概念也被拿了过来。但是那时候储存设备非常昂贵,一些人认为用两个字符用来表示一行结尾非常浪费,于是产生了分支,不同厂商有不同处理方法。...在这些操作系统中,Unix操作系统每行结尾只有换行,即”\n”;Windows则是回车+换行,即“\r\n”;而Mac系统里则使用回车来代表结尾,即“\r”。...正是这个原因,才会导致我们有时用Windows系统来打开Unix/Mac系统文件时,会出现所有文字变成一行情况,而用Unix和Mac系统打开Windows系统文件时,在每一行结尾会多出一个 ^M

1.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

回车(CR)换行(LF), r和n区别

一:回车”(Carriage Return)和“换行”(Line Feed)起源 首先,弄清两个概念: 回车CR-将光标移动到当前行开头。 换行LF-将光标“垂直”移动到下一行。...(而并不移动到下一行开头,即不改变光标水平位置) 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下tty概念也来自于此)玩意,每秒钟可以打...这就是“换行”和“回车来历,从它们英语名字上也可以看出一二。 后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。...Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行, 苹果机(MAC OS系统)则采用回车符CR表示下一行....所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示. ? 注1:关于“回车键”来历,还得从机械英文打字机说起。

2.5K30

总算搞清楚了回车换行来历区别

总算搞清楚”回车”(carriage return)和”换行”(line feed)这两个概念来历和区别了。...在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行时候,要用去0.2秒,正好可以打两个字符。...一个叫做”回车”,告诉打字机把打印头定位在左边界;另一个叫做”换行”,告诉打字机把纸向下移一行。 这就是”换行”和”回车来历,从它们英语名字上也可以看出一二。...Unix系统里,每行结尾只有””,即”\n”;Windows系统里面,每行结尾是””,即”\r\n”;Mac系统里,每行结尾是””。...一个直接后果是,Unix/Mac系统下文件在Windows里打开的话,所有文字会变成一行;而Windows里文件在Unix/Mac下打开的话,在每行结尾可能会多出一个^M符号。

82650

换行符 n 和 回车符 r 区别

顾名思义: 换行符就是另起一新行,光标在新行开头; 回车符就是光标回到一旧行开头;(即光标目前所在行为旧行) -------------------------------------------...---------------------------------- 所以我们平时编写文件回车符(即:回车键 )应该确切来说叫做回车换行符。...即我们换行符通过键盘上回车键来实现。 也即键盘上回车键是用来进行实现换行。 也即键盘上回车键不是用来进行实现回车。...Linux等系统下是没有"\r"符号。...----------------------------------------------------------------------------- 在解析文本或其他格式文件内容时,常常要碰到判定回车换行地方

65.7K30

【小知识】换行符和回车换行符有什么区别

回车换行区别 总结: 被迫换行-换行 主动换行-回车 回车 \r 本义是光标重新回到本行开头,r英文return,控制字符可以写成CR,即Carriage Return 换行 \n 本义是光标往下一行...,至于ENTER键定义是操作系统有关。...不同操作系统下含义: \r: MAC OS 系统行末结束符 \n: UNIX 系统行末结束符 \n\r: window 系统行末结束符 扩展:硬回车和软回车回车就是普通我们按回车产生,它在换行同时也起着段落分隔作用...软回车是用 Shift + Enter 产生,它换行,但是并不换段,即前后两段文字在 Word 中属于同一“段”。在应用格式时你会体会到这一点。...软回车能使前后两行行间距大幅度缩小,因为它不是段落标记,要和法定段落标记——硬回车区别出来。硬回车html代码是 … ,段落内容就夹在里面,而软回车代码很精悍: 。

4K40

python0040_换行回车不同_通用换行符_universal_newlines

时候 我 在文件里 打了回车\n系统 将0x0a存入字节 进文件换行 自动就有 回车功能 了吗?...换行回车换行 对应 字节0x0aLine-Feed 水平 不动垂直 向上喂纸所以是 feed回车 对应 字节0x0dCarriage-Return 垂直 不动水平 回到纸张左侧可移动打印头 运输字符... 回车换行电传打字机 渐渐 退出了历史舞台当初纸张 变成了 今天显示器打字机按键 也演变为 如今键盘甚至 有了 操作系统 操作系统 是 如何理解 回车换行 呢?...回车换行 那还有 纯换行回车效果 吗?...python解释器对于\n、\r解释方式 就是统一 \n 换行\r 退到行头这种统一 是跨平台 跨系统、跨cpu架构总结对于换行回车不同层面的理解 电传打字机 两件事经常 一起干但也可以 分别干不同操作系统

3.7K00

Linux命令行一个小实验(回车换行

这是个很有趣规律,因为通常Enter换行后都会从行首开始输出,而这个却只是简单下移了一行,但如果你跟回车(CR)和换行(LF)概念关联起来就说通了。...换行,英文为Line Feed,缩写为LF [打字机] 而我们所遇到情况类似换行而并未回车。...试想一下,如果你写了一行字,然后手垂直下移继续写,那写出效果应该下图类似: [换行效果] 这是一个很有趣行为,那么既然现在命令行有这样能力,为什么我们不用它做点实验呢?...再在来测试一下\r回车: [iwjzw6rnyw.png] [a1yrofq6ye.png] 可以看到,字母直接打印再当前行开头,因为回车只是将打印头移动到当前行首位,如果此时我们再来一个回车和一些字母的话...,还是要\r\n: [djcdqv6sml.png] [07hfj2w1hm.png] 最后,这样做并没有太大意义,只是让我们更直观了解到回车换行区别

6.9K60

PHP处理回车换行时应该注意一个问题

大家都知道Windows下回车换行Linux回车换行区别,分别是 Windows  --  \r\n Linux       --  \n 在我们数据入库、出库时候要特别注意这个问题,特别是在进行显示处理时候...,比如使用表单中 textarea 进行了一段文字提交,客户端是Windows的话就会包含\r\n,如果要显示在页面上,这些都是不起作用,我们需要替换成页面中可以辨认回车 这个时侯就可以使用...\n', '', $value); ereg_replace("\r\n", "", $value);  问题就出在单引号和双引号上,如果我们始终使用双引号,我们肯定是安全。...但是如果我们使用单引号,那么那些元字符就会被解释成其他含义,从而导致了这句执行失败。 所以如果发现替换失败或者失效时候,就从引号上找找原因吧。

68910

UnixLinux区别

LinuxLinux是由芬兰计算机科学家Linus Torvalds在1991年创建。它是作为一个免费、开放源代码Unix克隆而开始。...LinuxLinux使用Linux内核,这是由Linus Torvalds及其他贡献者开发Linux内核是开源,这使得Linux系统能够在各种硬件平台上运行。...LinuxLinux有多个发行版(Distribution),如Ubuntu、Fedora、Debian、CentOS等。这些发行版使用Linux内核,但它们可能包含不同软件包、包管理工具等。...开源性质Unix: 大多数商业Unix版本是闭源,需要购买许可证使用。LinuxLinux是开源,其源代码可以免费获取、使用、修改和分发。这也促使了许多不同Linux发行版出现。...Linux: 大多数Linux发行版遵循POSIX标准,因此在命令行方面Unix相似,但也有一些特定命令和工具。

17010

怎样区分条码枪输入后触发回车键盘回车

今天在做条码枪扫描商品条码来选择商品时,发现有一个矛盾:条码枪其实是模拟键盘事件:先模拟敲击键盘,输入它所扫描到条码,在输入完毕后,再模拟敲击键盘回车事件。...在经过一些思考尝试后,用以下办法解决了,这里先说一下思路,代码稍后整理一下再贴上来:在扫描枪扫描一个条码后,触发事件中,条码文本框本身回车事件是会先触发,继而再到页面的回车事件触发。...最初想法是在文本框回车事件响应方法中中止整个页面的事件监听,不过试过多个方法,发现无效,所以只有想一些HACK出来解决了。嘿嘿。...当鼠标焦点在条码输入框时候,它值一定是空,而当它失去焦点时,我们可以人为让它值为空,再当页面的回车触发时,我们就可以通过条码输入框值是否为空也判断本次回车空间是由条码枪触发还是由用户按键盘触发了...先判断条码录入框值是否为空,如果为空,就直接return了,如果非空的话,证明当前回车不是由条码枪触发,可以尝试进行表单提交操作,这样就OK啦。

2.4K10

Linux和Windows换行

回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个概念来历和区别。...在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行时候,要用去0.2秒,正好可以打两个字符。...一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换行”和“回车来历,从它们英语名字上也可以看出一二。...Unix 系统里,每行结尾只有“”,即“\n”,十六进制数值是:0A; Windows系统里面,每行结尾是“ ”,即“ \r\n”,十六进制数值是:0D0A; Mac系统里,每行结尾是...就变成了所有内容都在一样,并且有很多^M,这个^M实际上就是CR,而由于没有LF,因此linux无法识别出换行信息。

5.2K70

linux关于bashrcprofile区别

bashrcprofile区别看法 其实打开~/.profile, ~/.bashrc和~/.bash_profile文件,我们就可以看到区别. 1.首先说~/.profile: 这里有一句话...比如在里面 alias ll=’ls -l’ 代表以后输入ll,就表示ls -l 转载 要搞清bashrcprofile区别,首先要弄明白什么是交互式shell和非交互式shell...交互式模式就是shell等待你输入,并且执行你提交命令。这种模式被称作交互式是因为shell用户进行交互。这种模式也是大多数用户非常熟悉:登录、执行一些命令、签退。.../etc/bashrc:为每一个运行bash shell用户执行此文件.当bash shell被打开时,该文件被读取。有些linux版本中/etc目录下已经没有了bashrc文件。...~/.bashrc 至于~/.profile~/.bashrc区别 都具有个性化定制功能 ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入时候执行一次 ~/

6.2K21

linux中susudo区别

主要用法 我们在 Linux 中经常会碰到 Permission denied 这种情况,比如以 ubuntu 用户身份查看 /etc/shadow 内容。...切换到 root 用户: sudo su - 这种方式也能以 login-shell 方式切换到 root 用户,但是它和 su - 方法是有区别的: 前者输入 sudo su - 后,需要提供当前用户登录密码...:如果我们 Linux 系统有很多用户需要使用的话,前者要求所有用户都知道 root 用户密码,这显然是非常危险;后者是不需要暴露 root 账户密码,用户只需要输入自己账户密码就可以,而且哪些用户可以切换到...原文:https://tanjuntao.github.io/2020/05/23/Linux-%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%EF%BC%9Asu-%E5%92%...8C-sudo/ 相关文章 linux之sudo使用技巧汇总

3K10

Linux中tailcat区别

一、tail 功能:显示指定文件后若干行。 语法:tail [+ / - num ] [参数] 文件 tail命令中各个选项含义为: +num 从第num行以后开始显示。...l 以文本行为num计数单位。参数选项+num或- num选项同时使用时,num表示要显示文本行行数。 c 以字节为num计数单位。...参数选项+num或- num选项同时使用时,num表示要显示字符数。 (l、c选项可以省略,系统默认值为l,即按行计数)。...使用tail命令-f选项可以方便查阅正在改变日志文件,tail -f filename会把filename里最尾部内容显示在屏幕上,并且不但刷新,使你看到最新文件内容。...  -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号  -s 或 --squeeze-blank 当遇到有连续两行以上空白行,就代换为一行空白行  -v 或 --

2.9K40

Linux 中删除文本中回车字符方法

他们在 Windows 上文本文件上保留了它,但从未在 Linux 系统上使用过。...字符 CRLF 通常用于表示 Windows 文本文件中一行结束回车符和换行符序列。那些注意看八进制转储会看到 \r\n。相比之下,Linux 文本仅以换行符结束。...3 种从文本中删除回车方法 幸运是,有几种方法可以轻松删除回车符。... sed 一样,命令中 ^M 需要通过 Ctrl+V 输入 ^,然后 Ctrl+M 插入 M。%s 是替换操作,斜杠再次将我们要删除字符和我们想要替换它文本(空)分开。...总结 以上所述是小编给大家介绍 Linux 中删除文本中回车字符方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

3.9K10

【C++】小心使用文件读写模式:回车(r) 换行(n)问题一次纠结经历

3.怀疑服务器传输前对文件格式进行了更改,用wireshark抓包,发现文件内容服务器上文件一致。那么这个多出来\r从何而来呢,行结尾变成了\r\r\n。...4.查看文件F,行结尾是\r\n,而我记得当初生成文件时候是以\n作为换行,纠结一番后想起来了文件读写模式,只记得是文本二进制区别,没有想起来换行问题。...例如,对于Windows文本文件,他们使用两个字符组合吧(回车换行)表示换行符;Mac文本文件使用回车表示换行符;而UNIX和Linux文件使用换行来表示换行符。...为增加可移植性,Windows C++程序在写文本模式文件时,自动将C++换行符转换为回车换行;Mac C++程序在写文件时,将换行符转换为回车。...在读取文本文件时,这些程序将本地换行符转换为C++模式。对于二进制数据,文本格式会引起问题,因为double值中间字节可能与换行ASCII码有相同位模式。另外,在文件末尾检测方式也有区别

2.7K70
领券