回车,换行,转义字符“\r”,“\n”是什么关系? 您所在的位置:网站首页 c中回车键的代码是 回车,换行,转义字符“\r”,“\n”是什么关系?

回车,换行,转义字符“\r”,“\n”是什么关系?

2023-06-16 05:59| 来源: 网络整理| 查看: 265

1.“回车”这个名词的来历。  

   关于“回车键”的来历,还得从机械英文打字机说起。在机械英文打字机上,有一个部件叫“字车”,每打一个字符(原为单词,但是个人觉得这里应该是字符),“字车”就前进一格。当打满一行字符后,打字者就得推动“字车”到起始位置,这时打字机会有两个动作响应:一是“字车”被归位,二是滚筒上卷一行,以便开始输入下一行,这个推动“字车”的动作叫“回车”。后来,在电动英文打字机上,人们增加了一个直接起“回车”作用的键。这个新增的键就被称为“回车键”。后来电脑的研制时也借用这个“回车”的概念。

2.“换行”是一种操作或者动作。

  换行: 在电脑上,编辑软件中一般用于结束一行文字输入,并将光标移到下一行的行首的位置。

3.   转义字符“\r”,“\n”。

  

  在C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,因为后面的字符,都不是它本来的ASCII字符意思了就称为转义字符,。Java是在的底层用c 和c++写的,Java中也有转义字符这一说。

详情看ASCII码表https://baike.baidu.com/pic/ASCII/309296/0/c2fdfc039245d688c56332adacc27d1ed21b2451?fr=lemma&ct=single#aid=0&pic=c2fdfc039245d688c56332adacc27d1ed21b2451

看表头 有控制码 和打印码 的区分

4.其他的一些知识

  在Unix系统下执行 换行操作 用“\n”   在windows 操作做系统下执行 换行操作 用“\r\n”  在Mac操作系统下执行 换行操作用“\r”

其他人对这些知识点的介绍:

http://blog.csdn.net/xiaoxian8023/article/details/8448160

 

有了上面的了解 我们可以这样认为

我们通常说的“回车” 也就是得到 换行的效果 也就是点电脑上的enter键 

转义字符  是用在打印数据时 或者 说 在电脑硬盘上输入数据使用  来控制字符的位置  这些字符不显示  来控制一些操作

回车得到换行的效果,敲enter键,在文本文件中产生我们看不见的转义字符 下面来测试一下 1.测试控制台输出(打印)规律

  

1 public class DemoEscapeCharacter { 2 public static void main(String[] args) { 3 System.out.print("aaa"); 4 System.out.print("bbb"); 5 System.out.print("ccc"); 6 System.out.print("ddd"); 7 System.out.print("eee"); 8 System.out.print("fff"); 9 System.out.println("*************"); 10 System.out.print("转义字符\\r "+"aaa\r"); 11 System.out.print("转义字符\\n "+"bbb\n"); 12 System.out.print("转义字符\\r\\n "+"ccc\r\n"); 13 System.out.print("转义字符\\n\\r "+"ddd\n\r"); 14 15 System.out.print("转义字符\\n x \\r "+"eeeeeee\nf\r"); 16 System.out.print("转义字符\\n xxx \\r "+"eeeeeee\nfff\r"); 17 System.out.print("转义字符\\r x \\n "+"eeeeeee\rf\n"); 18 System.out.print("转义字符\\r xxx \\n "+"eeeeeee\rfff\n"); 19 System.out.println("******************************************"); 20 System.out.print("转义字符\\n\\r\\r\\r"+"eeeeeeeeeeeeeeeee\n\r\r\r"+"abcdefghijk"); 21 } 22 }

 

原先没有在字符串末尾加 转义字符的 输出(打印)到控制台 没有换行 加有"\r","\n","\r\n"的都出现换行 

那么在控制台的换行是如何实现的那?

"\r","\n"------>"\r\n"  前两者都转换为了“\r\n” 或者 说都是换行的动作  因为Java中有 重载 方法 ,也就是Java面向对象的一个特征 多态。也可以看出Java的跨平台 无论什么平台用IO流读到内存中 显示到控制台上的" 文本信息"可以无损还原。

“ddd\n\r” 不符合 "\r","\n","\r\n" 任何一个 只能 执行“\n”,"\r",也就是两次换行 所以打印出来时和“eeeeeee\nf\r” 的eeeeeee有一行空行 

最后“eeeeeeeeeeeeee\n\r\r\rabcdefghijk”有四次换行 最后一次换行 有内容写入 所以有3行空白行

  2.测试Windows下的换行是否是“\r\n”

  

1 import java.io.FileNotFoundException; 2 import java.io.FileReader; 3 import java.io.FileWriter; 4 import java.io.IOException; 5 6 public class DemoReader { 7 public static void main(String[] args) { 8 FileReader fr=null; 9 try { 10 fr=new FileReader("C:/Users/lenovo/Desktop/编译错误单词.txt"); 11 char []buf=new char[10];//接受读取的一段 信息 12 int realCount=0; 13 while ((realCount=fr.read(buf))!=-1){ 14 for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有