回车、换行、空格的ASCII码值(不同OS平台下文件换行定义)

回车,ASCII码13(十六进制:0x0D),"\r"
换行,ASCII码10(十六进制:0x0A),"\n"
空格,ASCII码32(十六进制:0x20)

Return = CR = 13 = ‘\x0d’
NewLine = LF = 10 = ‘\x0a’

回车符号和换行符号产生背景

关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号

windows创建的文件是 \n\r结束的, 而linux,mac这种unix类系统是\n结束的。

所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了

Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。Linux下很多文本编辑器(命令行)会在显示这个标记之后,补上一个自己的换行符,以避免内容混乱(只是用于显示,补充的换行符不会写入文件,有专门的命令将Windows换行符替换为Linux换行符)。 UNIX/Linux系统下的换行符在Windows系统的文本编辑器中会被忽略,整个文本会乱成一团。

windows换行是\r\n,十六进制数值是:0D0A
LINUX换行是\n,十六进制数值是:0A
所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。
unix2dos 是把linux文件格式转换成windows文件格式
dos2unix 是把windows格式转换成linux文件格式。

linux下删除windows换行符^M

OJ判题时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到\n和\r两个字符。所以需要将^M(也就是\r)字符删掉
删除方法不少。找了一个比较简单的。
要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d “^M” > b.txt
注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符

unix 下换行符只有: \r
Dos 下换行符有:\r\n
具体的, \r的ascii 码是:13(0x0D)
\n的ascii 码是:10(0x0A)

原文链接:
https://blog.csdn.net/sinat_26960165/article/details/45741373

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套计算机编码系统。它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。

ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符;其中33个字符无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符。控制字符的用途主要是用来操控已经处理过的文字。在33个字符之外的是95个可显示的字符。用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。

规律
由ASCII码表我们可以做如下总结(以下说明均以10进制表示法):

共定义了128个字符,其中33控制字符个字符无法显示,剩余95个可显示字符
控制字符包含0~31的32个字符,加上一个删除符(127),共33个
可显示字符包含32~126的95个字符(包含数字、大小写字符、英文标点符号等)
数字19对应的ASCII码为4857
大写字母AZ对应的ASCII码为6590
小写字母az对应的ASCII码为97122




回车、换行、空格的ASCII码值(不同OS平台下文件换行定义)相关推荐

  1. 回车、换行、空格的ASCII码值

    http://blog.csdn.net/songjinshi/article/details/7868866 回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格, ...

  2. 回车、换行、空格的ASCII码值—(附ASCII码表)

    回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格,ASCII码32 Return   =   CR   =   13   =   '\x0d' NewLine   ...

  3. c 中空格的asc码表_回车、换行、空格的ASCII码值—(附ASCII码表)

    回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格,ASCII码32 Return   =   CR   =   13   =   '\x0d' NewLine   ...

  4. 微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。

    微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出. DATAS SEGMENT msg db 'Input ',0dh,0ah,'$' te ...

  5. c 中空格的asc码表_[转]回车、换行、空格的ASCII码值—(附ASCII码表)

    回车,ASCII码13,"\r" 换行,ASCII码10,"\n" 空格,ASCII码32 Return   =   CR   =   13   =   '\x ...

  6. c语言中字符如何转数字排序,常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字。对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺...

    导航:网站首页 > 常用字符的ASCII码值从小到大的排列规律是:空格.阿拉伯数字.对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺 常用字符的ASCII码值从小到大的排列规 ...

  7. 转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;

    文章目录 前言 转义序列字符(Escape Sequence Character): 一.\0:空字符 二.\n:换行符 三.\r:回车符 四.\t:水平制表符 五.\v:垂直制表符 六.\a:响铃 ...

  8. c语言数字的ascii码范围,c的ascii码值是多少?

    c的ascii码值是多少? 小写c的ASCII码值是99:大写C的ASCII码值是67.在ascii码中,65-90为26个大写英文字母(A~Z),97-122号为26个小写英文字母(a~z). 拓展 ...

  9. a到z的ascii码值是多少_a的ascii码值十六进制是多少

    a的ascii码值十六进制是多少 ascii码中: A到Z分别是65到90,十六进制是41到5a a到z分别是97到122,十六进制是61到7a 所以a的ascii码值的十六进制是61. ASCII知 ...

最新文章

  1. 单语言表征如何迁移到多语言去?
  2. 一本关于 女仆小说的构思,有能力写的看下
  3. 机房安防系统常见故障原因及处理方法
  4. 珠海a货翡翠,惠州a货翡翠
  5. 使用Rancher搭建K8S测试环境
  6. 【转】云社区 博客 博客详情 二维异形件排版算法介绍(一)
  7. 办公自动化-演练-从A表中提取数据整合到B表中-0223
  8. 打印循环换行_一个案例轻松认识Python 循环语句(for)——10以内的素数
  9. Restlet入门例子 - RESTful web framwork for java
  10. bp算法运行太慢_神经网络,BP算法的理解与推导
  11. WPS/Word参考文献格式规范及引用的方法
  12. Ubuntu下安装配置Honeyd蜜罐
  13. 若依ruoyi框架整合magic-api快速开发
  14. 大多数人不敢想的PDF操作:添加书签,电子签名,压缩,修改文字,提取部分页面为新文件、批量导出为图片
  15. 微信小程序——瘦金社区
  16. 短信验证注册,一个完整而优雅的JAVA后端实现
  17. php如何把文字加粗,HTML中如何将字体加粗
  18. 批量导入Sql数据库
  19. 大数据课程体系-学习笔记概要
  20. 电路基本原理那些事儿之 能量守恒定律

热门文章

  1. 电路板级的EMC设计 (2)元件的选择和电路设计技术
  2. 手机的开发者选项怎么找(真机调试)
  3. 第4周收录188起融资,国内物流暴涨,国外40起过亿元大额融资 | 潜在周报
  4. openface源码理解(4)
  5. 计算机开机键英语字母,电脑开机黑屏显示英文字母
  6. JAP的类关系 @OneToMany 和 @ManyToManys
  7. 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
  8. 电脑版Android版Mac版iPad版,从苹果iPad上运行Android版QQ谈移动应用跨平台
  9. LLJ-300HS;LLJ-F(S)系列漏电继电器
  10. 在springboot中使用腾讯QQ邮箱发送邮件时出现的错误