在编码时如何使用\\r与\\n,两者的区别

作者:Clement-Xu 时间:2023-04-08 11:19:00 

\r与\n到底有何区别,编码的时候又应该如何使用,我们下面来了解一下。

区别:

\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”)。

标签:编码,使用\r与\n
0
投稿

猜你喜欢

  • Android Studio做超好玩的拼图游戏 附送详细注释源码

    2023-08-05 12:19:16
  • C#实现读取匿名对象属性值的方法示例总结

    2023-02-02 18:56:03
  • Java中lock和tryLock及lockInterruptibly的区别

    2023-05-27 11:33:56
  • SpringSecurity注销设置的方法

    2023-08-05 20:46:15
  • C#在foreach遍历删除集合中元素的三种实现方法

    2022-05-28 12:22:50
  • Android创建与解析XML(二)——详解Dom方式

    2023-08-20 02:30:05
  • C#中的延时函数sleep

    2022-08-05 13:16:49
  • 使用监听器对Spring bean id进行唯一校验过程解析

    2022-04-12 18:07:21
  • Android中Canvas的常用方法总结

    2021-11-25 03:00:28
  • Spring集成jedis的配置与使用简单实例

    2023-07-02 04:11:39
  • c#读写App.config,ConfigurationManager.AppSettings 不生效的解决方法

    2021-10-07 22:34:42
  • Toast类避免显示时间叠加的方法

    2021-08-20 02:01:42
  • 详解Java消息队列-Spring整合ActiveMq

    2022-12-31 04:15:41
  • logback中显示mybatis查询日志文件并写入的方法示例

    2023-11-03 03:01:48
  • 详解IntelliJ IDEA 自带的 HTTP Client 接口调用插件吊打 Postman

    2023-08-06 07:56:08
  • java实现图片转base64字符串 java实现base64字符串转图片

    2023-07-19 10:42:44
  • Android AutoCompleteTextView控件使用实例

    2023-11-24 03:01:56
  • Java8 stream 中利用 groupingBy 进行多字段分组求和案例

    2023-03-22 00:54:43
  • C#导出生成excel文件的方法小结(xml,html方式)

    2023-10-03 16:32:26
  • Java中String的JdbcTemplate连接SQLServer数据库的方法

    2022-09-05 00:34:12
  • asp之家 软件编程 m.aspxhome.com