原本是未知格式的文件,选择用记事本打开,结果全是乱码,怎样还原?

2024-05-08 08:28

1. 原本是未知格式的文件,选择用记事本打开,结果全是乱码,怎样还原?

……
你只是打开,没改动过什么东西,而且还没保存,何来“还原”一说?


用记事本打开是乱码主要是因为该文件是以二进制方式存储的,而不是以“文本文件”方式存储的,计事本处理文件的方式“比较简单”,它把所有的文件都当成“文本文件”来处理,它读取一个字节或者两个字节的数值后就去查找当前系统加载的代码页,看看在代码页中那个数值对应的字符是什么,然后把那个字符显示出来。你打开的文件本身就不是“文本文件”,显示的怎么可能是你认识的东西呢。

p.s. 在计算机中从来就不存在什么“文本文件”,所有的数据全是二进制。文本文件存储的方式是这样的,ASCII码中有的字符占一个字节,其他的字符(像汉语,日语等等)就用两个字节表示,它就是一个接一个这么排起来的,不存在其他的结构体(c语言中的struct),所以说计事本处理文件的方式“简单”。

给你留个问题,激发一下学习的兴趣。

其实光光一个“文本文件”也很不简单,还是要考虑不少情况。就拿中文来说吧,你打开记事本程序,文件--另存为,你会看到有个编码方式,下面有ansi,unicode,unicode big endian,utf-8四种编码方式,你随便保存成一种再打开,显示的还是刚才你打进去的东西,很神奇吧,电脑是怎么知道要用哪种编码方式打开文件的呢?

原本是未知格式的文件,选择用记事本打开,结果全是乱码,怎样还原?

2. 请高手指点: 记事本文档乱码的问题

还记得Windows记事本程序与“联通”之间的“闹鬼事件”么?现在又有人发现了类似的现象,这次记事本连英文也不认识了。
还记得Windows记事本程序与“联通”之间的“闹鬼事件”么?现在又有人发现了类似的现象,这次记事本连英文也不认识了。
Wincustomise提供的方法如下:
1、打开Windows系统中的记事本程序(不是写字板也不是Word)。
2、输入“this
app
can
break”(不含引号)。
3、以任意文件名将其保存到硬盘上。
4、关闭记事本。
5、再次使用记事本打开保存的文档。
怎么样?看到的还是英文么?怎么成了乱码了?
其实,和此前“联通”变“黑色实心方块”一样,记事本如此“闹鬼”都是出于同一bug。默认情况下,记事本是以ANSI编码保存文本文档的,正是这种编码导致了上述怪现象。如果选择Unicode、Unicode(big
endian)、UTF-8编码保存就正常了。此外,如果以ANSI编码保存含有某些特殊符号的文本文档,再次打开后符号也会变成英文问号。
英文变乱码
联通变方块
都是编码惹的祸