`

记事本乱码的原因

阅读更多

 

摘自:http://bbs.pediy.com/showthread.php?t=94230

 

问题:

如果你的电脑操作系统是win2000或winxp的话,那么:
1、在桌面上点右键,选择新建 - 文本文档;  
2、打开“新建 文本文档“,录入“移动“两字后存盘退出;  
3、重新打开“新建 文本文档“,看到什么了?  
4、是不是刚刚录入的“移动“两字?
又来
1、在桌面上点右键,选择新建 - 文本文档; 
2、打开“新建 文本文档“,录入“联通“两字后存盘退出;
3、重新打开“新建 文本文档“,看到什么了?
4、是不是刚刚录入的“联通“两字不见了,取而代之是个烧焦的手机电池的模样?

请这里的高手解释一下为什么会这样?

 

解答:

晕..这个由于GB2312中文编码和UTF8编码产生混淆了..

这个问题主要涉及编码转换以及编排规则问题..
"联通"的内码是: 
c1 1100 0001 
aa 1010 1010 
cd 1100 1101 
a8 1010 1000 
注意第一二个字节、第三四个字节的起始部分的都是"110"和"10",正好与UTF8规则里的两字节模板是一致的,于是再次打开记事本时,记事本就误认为这是一个UTF8编码的文件,让我们把第一个字节的110和第二个字节的10去掉,我们就得到了"00001 101010",再把各位对齐,补上前导的0,就得到了"0000 0000 0110 1010",不好意思,这是UNICODE的006A,也就是小写的字母"j",而之后的两字节用UTF8解码之后是0368,这个字符什么也不是。这就是只有"联通"两个字的文件没有办法在记事本里正常显示的原因。
分享到:
评论

相关推荐

    打开记事本汉字显示乱码导入注册表

    打开记事本汉字显示乱码双击导入注册表,打开记事本汉字显示乱码双击导入注册表,

    记事本打开文件乱码怎么办?.docx

    记事本打开文件乱码怎么办?.docx

    VB读取记事本无乱码txt

    在VB(Visual Basic)编程中,读取记事本文件并确保无乱码是一项常见的任务。这主要涉及到文本文件的I/O操作以及字符编码的理解。记事本默认使用的是ANSI编码,但在处理多语言或者非ASCII字符时,可能会出现乱码问题...

    Keil uv4.6复制中文注释到记事本出现乱码的解决方法

    在使用Keil uVision 4.6开发C语言程序时,可能会遇到一个常见的问题:当你尝试将工程中的中文注释复制到Windows记事本或其他文本编辑器时,这些汉字会显示为乱码。这个问题主要是由于编码格式不兼容导致的。Keil ...

    六六记事本

    前端编辑工具六六记事本,1.3版本,-----------------------------

    乱码查看器--方便的编码转换工具

    乱码察看器顾名思义就是用来察看各种乱码的工具软件,目前支持MIME/BASE64,Quoted-Printable,HZ和UUCode四种形式的编码和解码,通过一些特殊的算法,本程序还可以解开部分由于字节高位被屏蔽而形成的死乱码(使用...

    Sublime Text 3打开txt中文乱码的解决方法

    然而,在处理中文文本时,尤其是打开TXT文件时,可能会遇到中文乱码的问题。这个问题通常是由于编码设置不正确或者缺少相应的插件导致的。以下是一些解决Sublime Text 3中文乱码问题的方法。 1. **检查文件编码**:...

    java 记事本 源代码

    * 7、与Windows的记事本程序兼容,保存的文件能够被Windows的记事本下打开不会乱码 * 8、在保存系统信息下,保存的文件就必须由此记事本程序打开,否则乱码, * 若一旦强行被更改,文件信息将全部丢失 */

    VB.NET读取文本(解决乱码)

    在VB.NET编程中,处理文本文件是常见的任务之一,但有时候由于编码问题,读取的文本可能会出现乱码。这通常发生在文件的编码格式与程序读取时所使用的编码不一致的情况下。本教程将深入探讨如何在VB.NET中正确地读取...

    Keil uv4源代码复制到记事本,中文注释乱码的完美解决办法

    Keil uv4源代码复制到记事本,中文注释乱码的完美解决办法。

    比记事本强大得多的记事本

    7. **Unicode支持**:支持多种字符编码,包括Unicode,确保处理不同语言的文本时不会出现乱码问题。 8. **增强型剪贴板**:提供剪贴板历史记录,可以方便地查看和粘贴之前复制的内容。 9. **宏支持**:支持宏录制...

    Notepad++超级记事本

    例如,它支持Unicode和ANSI编码,解决了不同编码格式导致的乱码问题。Notepad++还有查找和替换功能,支持正则表达式,使得搜索和替换文本变得更加灵活和强大。 标签“notepad++”直接指出了这个话题的核心。Notepad...

    超级记事本 Notepad2

    在编码格式方面,Notepad2支持Unicode,可以处理不同字符集的文件,避免了字符乱码的问题。同时,它还可以识别并保存文件的编码类型,方便用户在处理不同编码格式的文件时保持一致性。 值得注意的是,Notepad2的...

    易语言向编辑框导入txt文本乱码怎么解决?

    易语言向编辑框导入txt文本乱码怎么解决?

    xNotepad_记事本

    我们知道,不同的文件可能采用不同的字符编码,如ASCII、UTF-8、GBK等,而编码不匹配往往会导致乱码问题。xNotepad_记事本支持多种编码格式之间的转换,确保用户在打开或保存文件时能正确显示文字,避免了因为编码...

    自制中文系统下 日文乱码小工具

    首先,我们要理解“乱码”产生的原因。乱码通常是因为字符编码不匹配导致的。在中文系统中,默认的字符编码可能为GB2312、GBK或UTF-8,而日文字符可能采用Shift_JIS、EUC-JP或UTF-8等编码方式。当这些不同编码的文本...

    解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案

    造成中文乱码的原因是因为CSV文件的编码方式不兼容所导致的。CSV文件的编码方式默认是ANSI,而EXCEL打开CSV文件时也默认使用ANSI编码。如果CSV文件的编码方式为utf-8或Unicode等,EXCEL打开时就会出现中文乱码的情况...

    Linux 记事本 winvi32.zip

    【标题】"Linux 记事本 winvi32.zip" 提供的是一个在Linux环境下使用的文本编辑器,它模仿了Windows中的记事本功能。这个压缩包包含了一个名为"WinVi32.exe"的可执行文件,这通常是一个在Linux系统上运行的模拟器...

    电子记事本eDiary

    电子记事本、包含文档、日记,挺好用的,养成做笔记的好习惯

    MFC记事本vc6.0下开发

    在本文中,我们将深入探讨如何在Microsoft Foundation Class (MFC) 框架下使用Visual C++ 6.0 开发一个记事本程序。MFC 是微软为Windows应用程序开发提供的一种C++类库,它封装了Windows API,使得开发者可以更加...

Global site tag (gtag.js) - Google Analytics