记事本的一个BUG
作者:网络转载 发布时间:[ 2015/2/25 15:18:46 ] 推荐标签:缺陷管理 Bug 软件测试管理
Bink.nu网站上的文章表示,微软的记事本程序中又发现一个有趣的BUG。事情经过是:
1、打开一个记事本程序;
2、输入:AAAA BBB CCC DDDDD(或者任何其它4-3-3-5形式的字母组合);
3、保存文档,关闭记事本;
4、再次打开刚才保存的文档,你会发现那些字母变成了9个矩形格子(显示效果:?????????)。
5、此外,把记事本中的格子再次用刚才那些字母序列覆盖,保存并关闭记事本。再次打开时,显示的又是正确的字符序列了。
老王的扩展:当进行完上述5步后,我想是不是这个BUG只在新建文档时有效呢。于是我在第5步后用“CTRL+N”新建了一个记事本文档,输入那些字母,保存为一个新文件,打开它时现实的确是正确的。而经测试,只有在没进行过上述1-3步操作的记事本文档中才有这个BUG存在。比如在一个已存在的文档中操作,或是到“开始-程序-附件”中启动记事本操作,或是查看网页源代码弹出的记事本中操作等。一个文档一旦应用过本BUG,即使在打开它的窗口中新建一个一般文档-保存-打开新建的文档,粘贴/输入上述字母也无法看到BUG了。
所以这个BUG确实很有趣,至于原理是什么,估计得去问微软设计记事本的那位老兄了。关于本BUG存在于哪些系统中我没有条件测试,反正我的系统是Windows XP。
更新:monyer兄弟的解释
这是个文件编码识别问题,我们第一次建立文件保存时使用的是默认ANSI格式,通过打开记事本,输入以上字符另存为*.txt那个界面即可看见编码方式。
但打开的时候是按Unicode编码打开的,我们再次输入以上字符另存为*.txt,在另存为界面可以看到编码方式已经更改了。
这个是记事本的智能化编码识别问题,譬如ANSI、Unicode、Unicode Big Endian、Utf-8、Utf-8 bom、GB2312、Big5、ASCII等。我们从来没有意识到简单的文本居然有这么多编码是因为记事本程序的智能识别问题,但究竟程序员做这个智能识别用了什么算法不得而知了,不过可以肯定的是不是简单的fffe文件头识别是了。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
软件测试理论之缺陷管理Bug的生命周期的跟踪管理是怎么形成的?目前比较好用的缺陷管理工具都具备什么特点?缺陷等级的标准是如何判定的?有什么好用的缺陷管理工具吗?缺陷管理中缺陷的状态有哪些?如何进行状态管理?软件测试中的缺陷管理步骤和策略如何有效结合缺陷管理工具和缺陷管理流程?ALM(生命周期管理软件)之缺陷管理-缺陷流程处理ALM(生命周期管理软件)之缺陷管理-缺陷导出与修改ALM(生命周期管理软件)之缺陷管理-缺陷模版配置、导入缺陷ALM(生命周期管理软件)之缺陷管理-提交缺陷缺陷管理之Bug修复软件缺陷管理缺陷管理之测试新手缺陷管理项目实战缺陷管理工具:JIRA系统部署推进上线流程软件缺陷管理流程

sales@spasvo.com