前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中%c%n是什么意思_在编码时如何使用\r与\n,两者的区别

java中%c%n是什么意思_在编码时如何使用\r与\n,两者的区别

作者头像
全栈程序员站长
发布2022-09-08 10:25:14
1.5K0
发布2022-09-08 10:25:14
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

以上就是本文的全部内容,希望大家能够喜欢。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157057.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档