桌面记事本软件测试工资,记事本的一个BUG
我們常用的小工具,系統中附件里的“記事本”工具,有個比較有意思的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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机程序备份,将应用程序快照备份到计算
- 下一篇: 在计算机中描述景物结构形状与外貌,在计算