本文的最初版本发表于水木清华站(SMTH)的(Internet)讨论区。作者蓝海(bluesea)为水木清华病毒讨论区的现任板主。本篇是唯一在正式出版物上刊登的版本。本文不是计算机用户的入门指南,需要读者对最基本的计算机知识有一定的了解。

这是当时一篇很老的文章,但是现在的人读起来,仍然是受益匪浅。字符编码,永远是作为一个程序员应该考虑的问题,特别是一个跨国家,跨地区的程序员,UTF并不是都是王道。放在这里,仅供大家阅读。

教育网用户移步至http://epub.cnki.net/grid2008/detail.aspx?QueryID=4&CurRec=1,使用IP登陆后下载。

以下是对其原文的摘录:

乱码的产生既然是信息编码和解码不能够统的结果因此,解决乱码的过程就是找到和编码相统一的解码方法,并对计算机软件不能全自动进行适当解码的信息进行重新的处理和解码使得所恢复的信息达到可被理解和交换的目的。由于信息编码的种类繁多,信息交换中的具体形式和特殊情况非常复杂,因此乱码问题的解决并没有一个特定的方法,通常需要对相关的知识有一定的了解,然后通过肉眼对乱码的表现形式进行观察,对乱码的性质做出初步的判定后,才能找到相应的解码方法进行试验。

本文讨论的这些有关乱码的内容,基本上都是取材于BBS中很多初学者经常遇到并提出询问的问题,对它们进行了分类与整理,针对E-mail和WWW中经常出现的、初学者不易理解的特殊标记、乱码等现象,以乱码的的形成原因和识别手段为主线,涉及汉字乱码、ANSI、UUENCODE、MIME/BASE64、QUOYED-PRINTABLE、ROT13、HTML,文件格式、 [1]数据加密等方面的内容,为大家比较全面地介绍一下各种乱码的产生原因、判断依据和解决方法。可以说,常见的乱码有这样一些规律(1)和汉字或其他国家的文字有关(2)经常发生在E-mail,Usenet,www的阅读中(3)和传送二进制文件有关(4)和信息的加密解 密有关。

而乱码产生的原因正如前面所说的,和软件的版本,即软件能自动识别和使用的解码协议有密切的关系。本文的写作主要针对DOS/windows操作系统的用户,为在乱码发生的时候对不能识别的信息进行还原和理解提供一些帮助。至于如何避免乱码的产生,内容则更繁杂,本文对于软件或网络开发过程中遇到的类似问题并不涉及。