关于换行和回车

不知道大家用这么多年的电脑,写了这么多的程序,对换行和回车有没有一个认识

本文只针对菜鸟,若有高人路过,请随意扔蛋

在说这两兄弟前,先做一个实验:

我在Win7下新建左一个文本文件test.txt,然后用记事本打开输入如下内容,保存

关于换行和回车_第1张图片

然后用UltraEdit以“十六进制”方式打开,如下图

关于换行和回车_第2张图片

先不管上面看到的内容,在Debian中打开Vim,输入同样的内容后保存为test.txt文件

关于换行和回车_第3张图片

然后在Vim中输入命令:

:%!xxd

以十六进制方式查看文件,如下图所示:

关于换行和回车_第4张图片

好啦,正面我把两个文件十六进制的代码帖到下面方便作对比:

关于换行和回车_第5张图片关于换行和回车_第6张图片

   Win7下: 53 6F 62 65 31 0D 0A 73 6F 62 65 32 
Debian下:  53 6F 62 65 31    0A 73 6F 62 65 32 0A

这回你看清楚了吧,0x0D表示回车即'\r',0x0A表示换行即'\n'

从上面的结果我们可以得出如下结论:

1.在Win下,一个【回车键】意味着输入"\r\n"这样的组合,而在Linux下,则意味是输入'\n';

2.在这两种系统中,同样的文件内容也不一定在同样的大小;

3.在Linux下,每一行都会在其最后加上换行符,而Win下则只有在真正输入回车键时才会插入"\r\n";

4.在Vim下删除所有文件内容后,你以为文件是空了吗?实验证明,并不是空的(水人网友的提醒,只有不使用Vim行删除功能(dd及其变种dnd等)才会留下0x000a在文件中)

关于换行和回车_第7张图片

你明白了吗???欢迎路过~~~

引用一下一篇有用的文章http://www.52rd.com/blog/Detail_RD.Blog_imjacob_12317.html#52RD

你可能感兴趣的:(关于换行和回车)