解决Windows记事本打开Linux程序注释乱码排版混乱的问题

来源:互联网 发布:网络运营商自动选择 编辑:程序博客网 时间:2024/05/16 11:33

本人彻彻底底小白一枚,前来科普下这个还算大众化的问题,大神绕过 ~~

有说错的地方,欢迎指正 ~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

大家都知道,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格式” ~~  关闭后用记事本打开,一切恢复正常 ~~