我们常用的小工具,系统中附件里的“记事本”工具,有个比较有意思的BUG,让我们按以下步骤来看看。

1. 在开始菜单的附件里打开记事本

2. 复制引号中的内容,粘贴到记事本里“AAAA BBB CCC DDDDD”

3. 把它保存到桌面上,文件名任意,然后关闭记事本程序

4. 在桌面上打开刚才保存的文件

现在看到的都是一个个黑色的格子。而刚才输入的内容都不见了,是不是很有意思呢,我们再把记事本删除,再粘贴一下刚复制的内容,保存并关闭记事本。再次打开该文件,现在又可以正常显示文件内容了,呵呵是不是很有趣呢。

在实验中发现,如果打开记事本,输入“联通”也可以达到同样的效果,呵呵,我们可爱的记事本是不是非常有趣呢。

我对windows记事本bug的解释

这个bug在windowsXP sp1,sp2中都用,其他版本的windows是否有我没试过,不过我估计windows2000和2003都会存在。

bug演示:

记事本新建一个文本,打开以后输入: 联通 这两个字, 保存 ,关闭记事本。

再打开,你看看变成什么了?

有一个开玩笑的说法是因为中国联通把微软中国得罪了……

其实我看就是微软中国那帮家伙水平不行,对多语言编码弄得不好造成的

我分析了一下原因,

记事本保存的时候,默认使用ansi编码

但是用ansi编码呢,联通这两个字的开头正好是:fffe..... 这样的,于是再打开呢,他就以为是utf-8编码了,但是按照utf-8来解码呢,却造成乱码了。

我解释完毕,你满意否?

之所以我会想起来解释这个bug,是由于最近开发一个软件涉及到一些编码方面的问题,微软windows这个bug弄得我的软件生成的文件到现在还无法正常移植到其他平台上。

呵呵

shinzeal 2005-1-29 04:53 PM

我再具体进行分析一下:

以下是“联通”二字在不同编码下的16进制代码:

FF FE 54 80 1A 90 (Unicode)

FE FF 80 54 90 1A (Big Unicode)

FF FE 54 80 1A 90 (UTF-8)

FF FE 6A 00 68 03 (ANSI)

可以看出来,Unicode和UTF-8编码下,联通二字的编码是一样的,而Big Unicode是和Little Unicode(简称Unicode)正好相反的编码方式,一般Intel体系的计算机用Little Unicode编码效率较高。而文件头FF FE和FE FF则被微软用来作为区分文件是Little Unicode还是Big Unicode的标志。同时呢,由于UTF-8也是缘于Unicode编码方式的,微软就在UTF-8编码的文件前面也加上了FF FE用来作为标志。

可是这样一来,用ANSI编码保存的文件就出问题了,因为联通二字的ANSI编码正好是以FFFE开头的,这样以ANSI编码保存以后再次打开,记事本首先检测到FFFE,就认为是UTF-8编码了,于是按照UTF-8编码打开以后就会显示为乱码。

利用这个原理,大家可以试试,找到以ANSI编码保存时开头为FFFE的其他文字,同样可以实现和 联通二字在记事本中造成的bug一样的效果

21/212>

桌面记事本软件测试工资,记事本的一个BUG相关推荐

  1. 桌面记事本软件测试培训,记事本程序测试用例及编写.doc

    记事本程序测试用例及编写 记事本系统 测试用例 目录 RW01文件2 RW0101新建2 RW0102打开3 RW0103保存和另存为4 RW0104页面设置6 RW02编辑9 RW0201编辑9 R ...

  2. java怎么写桌面日历_Win7桌面怎么添加日历记事本

    可以按照日历记事的软件,电脑和手机都可以使用的,且能实现多端同步,推荐你可以使用敬业签. 敬业签针对待办事项可以设定单次定时提醒.重要事项间隔时间提醒.周期循环提醒和到期延时提醒. Windows电脑 ...

  3. 软件测试培训分享:做软件测试工作如何清楚的描述一个bug

    一名合格的软件测试工程师是需要清楚的交代自己的工作任务的,必须要清楚的告诉技术员出现的bug,那么做软件测试工作如何清楚的描述一个bug呢?来看看下面的详细介绍. 软件测试培训分享:做软件测试工作如何 ...

  4. 软件测试(基础)· 软件测试的生命周期 · 如何描述一个 Bug · Bug 的级别 · Bug 的生命周期 · 争执 · Bug 评审

    一.软件测试的生命周期 软件测试的生命周期 & 软件开发的生命周期 二.如何描述一个 Bug 三.如何定义 Bug 的级别 四.Bug 的生命周期 五.发生争执了怎么办? Bug 评审 一.软 ...

  5. 【软件测试】(三)软件测试的生命周期以及如何描述一个Bug

    文章目录 1. 软件测试的生命周期 2. 如何描述一个Bug 3. Bug的级别 4. Bug的生命周期 5. 如何发现更多的Bug 6. 冲突问题 1. 软件测试的生命周期 需求分析 → 测试计划 ...

  6. 软件测试(软件测试生命周期,描述一个bug,定义bug级别,bug生命周期,如何开始第一次测试,测试执行和bug管理,测试工作中的人际关系处理)

    一.软件测试的生命周期 对比软件的生命周期和bug的生命周期 · 软件的生命周期:需求分析--计划--设计--编码--测试--运行维护 · 软件测试的生命周期:需求分析--测试计划--测试设计.测试开 ...

  7. 关于LB论坛的一个BUG的探讨

    关于LB论坛的一个BUG的探讨 ( 作者:mikespook | 发布日期:2003-12-8 | 浏览次数:406 ) 关键字:漏洞,论坛,LB 现在网上用雷傲论坛的人很多.大家普遍觉得雷傲论坛用起 ...

  8. 记事本软件测试报告,记事本程序测试用例的编写.doc

    记事本程序测试用例的编写 1310906班冉维 记事本系统黑盒测试用例文本 第 PAGE 12页 记事本系统 测试用例 目录 TOC \o "1-3" \h \z \u HYPER ...

  9. java buffer 记事本_Java实现记事本|IO流/GUI

    Java实现记事本 题目 利用GUI实现一个简单的记事本(notepad),即打开文件,文字内容显示在界面上: 允许对文字内容进行编辑,并可以保存到文件. 代码 class notPadcontain ...

最新文章

  1. RHEL6系列更换epel源
  2. 玩转Android- 收藏集 - 掘金
  3. 设置c#windows服务描述及允许服务与桌面交互的几种方法
  4. 【整理】视图簇View cluster的创建
  5. 笔记-高项案例题-2016年上-范围管理+沟通管理+进度管理+风险管理
  6. 容器必须设置宽度吗_UI设计必须要具备的前端知识
  7. linux内核_Linux内核编程风格简介
  8. 手机壁纸图片源码自动采集美图网
  9. mybatisplus逆向工程生成代码
  10. 排序归并连接Merge Sort Join
  11. 使用appium时出现的问题
  12. exit()和return的区别
  13. 开发移动网页应用的一些技术指导
  14. sp3 win xp 符号表_Windows XP with SP3 各版本全搞定(附序列号)
  15. 【转】NAT穿透技术
  16. 【土壤湿度传感器与 Arduino 测量土壤湿度】
  17. LZMA解压缩编码算法的使用
  18. linux命令 sys,syslinux常用菜單命令
  19. Unity UGUI 字体加粗特效
  20. 分享一个Visual Studio的背景插件,让堆码更富情趣。。哈哈

热门文章

  1. 宝塔面板php降级,宝塔面板6.8.8降级到5.9.1的方案教程
  2. 1054 求平均值(PAT乙级 C++)
  3. 无线网桥的特点及应用方案
  4. 串口服务器常见异常情况排除方法介绍
  5. 21秋期末考试建筑力学与结构10126k2
  6. 【渝粤题库】广东开放大学社会学概论形成性考核
  7. 【渝粤题库】国家开放大学2021春2585城市轨道交通概论答案
  8. 【渝粤题库】国家开放大学2021春1078复变函数题目
  9. 基于CSMA -CA协议的无线星型网络的应用案例介绍
  10. 过防火墙一句话php2017,dedeCMS友情链接getshell漏洞利用