不知道大家用这么多年的电脑,写了这么多的程序,对换行和回车有没有一个认识
在说这两兄弟前,先做一个实验:
我在Win7下新建左一个文本文件test.txt,然后用记事本打开输入如下内容,保存
然后用UltraEdit以“十六进制”方式打开,如下图
先不管上面看到的内容,在Debian中打开Vim,输入同样的内容后保存为test.txt文件
然后在Vim中输入命令: :%!xxd
以十六进制方式查看文件,如下图所示:
好啦,正面我把两个文件十六进制的代码帖到下面方便作对比:
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下删除所有文件内容后,你以为文件是空了吗?实验证明,并不是空的
你明白了吗???欢迎路过~~~ 引用一下一篇有用的文章 https://www.jb51.net/www.jb51.net/article/26547.htm 原文来自: cnblogs SoBe
|