\r与\n有何区别,编码的时候应该如何使用
来源:互联网 发布:c语言pow函数 编辑:程序博客网 时间:2024/05/15 02:06
区别:
- \r:
- 全称:carriage return (carriage是“字车”的意思,打印机上的一个部件)
- 简称:return
- 缩写:r
- ASCII码:13
- 作用:把光标移动到当前行的最左边
- \n:
- 全称:new line
- 别名:line feed
- 缩写:n
- ASCII码:10
- 作用:把光标向下移动一行
不同操作系统怎样表示“回车+换行”(即一行的结束):
- Unix、Linux:\n表示回车+换行,\r没什么意义
- Windows、DOS:\r\n表示回车+换行,顺序不能变
- Mac:\r表示回车+换行
历史:
机械的英文打字机:在打字机上,有一个部件叫“字车”(carriage),每输入一个单词,“字车”就前进一格。当输满一行后,使用者就要推动“字车”到起始位置,这时打字机会有两个动作:“字车”归位、滚筒(roller)上卷一行(相当于“字车”下移一行),以便开始输入下一行。这两个动作合起来叫做“回车”,相当于现在键盘中的“Enter”键。
电传打字机:(Teletype Model 33,Linux/Unix下的tty概念也来自于此)每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车(return)”,告诉打字机把打印头定位在左边界;另一个叫做“换行(newline)”,告诉打字机把纸向下移一行。后来这两个动作被缩写为“\r”和“\n”。
编程语言中如何使用:
因为Unix中是用“\n”表示一行的结束,所以在C语言(以及其他C语言的继承者,比如C++, Java)中可以直接使用“\n”,在不同的操作系统中会被自动转换成相应的字符(比如在Windows中会被转成“\r\n”)。
(原创文章,转载请注明转自Clement-Xu的博客)
1 0
- \r与\n有何区别,编码的时候应该如何使用
- C语言里面的"\r"与"\n"有什么区别?
- \r,\n与\r\n有什么区别?
- \r与\n有什么区别
- \r,\n,\r\n的区别有哪些?
- /n与/r的区别
- /n与/r的区别!
- /n与/r的区别!
- /n与/r的区别
- /n与/r的区别
- /r与/n的区别
- \r与\n的区别
- \r与\n的区别
- \n与\r的区别
- '\r'与'\n'的区别
- \r与\n的区别
- '\r' 与 '\n'的区别
- \r与\n的区别
- c++: size_type与 size_t一些概念
- 【二分图匹配】zoj1654Place the Robots
- hive之窗口函数理解与实践
- 删除单链表中的最大节点。
- linux 目录结构
- \r与\n有何区别,编码的时候应该如何使用
- Unity3d控件
- 实现自己的ls命令
- 初学者遭遇离奇错误——求两点间的距离(C++)
- DB9针型:RS485输出信号及接线端子引脚分配
- 快速滚动滑块(Fast ScrollThumb)的实现
- day10
- UESTC 94 Bracket Sequence(线段树的区间更新)
- Notification自定义界面