本人彻彻底底小白一枚,前来科普下这个还算大众化的问题,大神绕过 ~~
有说错的地方,欢迎指正 ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
大家都知道,Linux下的文本默认采用UTF-8格式,而Windows下一般是ANSI格式。
本来大家相安无事,但好好的Linux文本你偏要在Windows下查看,而且还要用记事本那货来查看,问题就出现了!!
一般情况下中文会变的你不认识了,有些时候偏偏这些中文对你很重要,比如它是某些代码的注释 ~~
最简单的方法,你需要它—— Nodepad++
将该文本用Nodepad++打开,然后 “格式-->转为ANSI编码格式”,搞定,再用记事本打开,熟悉的中文又回来了~~

虽然显示中文了,但面对乱七八糟的排版怎么能忍!!!
先说下原理,在Windows环境中,如果输入到文本文件,程序中的一个'\n'换行符被解释成'\r'和'\n'两个字符(回车、换行)~~
相反,如果读取文本文件,文件中的相邻的两个'\r'和'\n'会合并为一个'\n'输出!!
在dos下,列的结束符有两个控制符:一个归位字符(carriage return,^M),另一个是换行字符(new line,^J),而Linux下只有一个换行字符‘\n’!
‘\n’的作用跟^J效果相同,所以当Linux文本放到dos下就会连成一段(由于没有归位字符,读取文件时,没法把'\r','\n'合并为一个'\n'输出) ~~
现在明白了为毛Linux下写的程序在记事本打开换行不见了吧 ~~
还是需要Nodepad++来搞定,将文本用Nodepad++打开,然后 “编辑-->档案格式转换-->转换为Windows格式” ~~ 关闭后用记事本打开,一切恢复正常 ~~

|