記事本
記事本,正式名稱是微軟記事本,是一個簡單的文字編輯器,自1985年發佈的Windows 1.0開始,所有的Windows版本都內建這個軟件。該軟件的程式設計師是理查德·布羅迪(Richard Brodie),1983年5月,微軟在亞特蘭大COMDEX上推出了由布羅迪編寫的基於滑鼠的文字編輯器Multi-Tool記事本,並配備了195美元的微軟滑鼠。
Windows 11中的記事本 | |
原作者 | 理查德·布羅迪 |
---|---|
開發者 | 微軟 |
首次發佈 | 1983年 | (初名Multi-Tool記事本)
作業系統 | Microsoft Windows |
平台 | IA-32、x86-64和ARM(以前有安騰、DEC Alpha、MIPS和PowerPC) |
取代 | MS-DOS編輯器 |
類型 | 文字編輯器 |
許可協定 | 免費軟件 |
網站 | www |
概要 編輯
特點 編輯
記事本的特點是只支援純文字。一般來說,如果把文字從網頁複製並貼上到一個文書處理軟件,它的格式和嵌入的媒體將會被一起貼上並且難以去除。但是,如果將這樣一個文字先貼上到記事本中,然後從記事本中再次複製到下最終需要的軟件裏,記事本將會去除所有的格式,只留下純文字,在某些情況下相當有用。記事本幾乎可以編輯任何文字檔案,但僅限 DOS 風格的 CRLF 行尾(但自Windows 10 ver 1803開始,支援Unix/Linux/macOS的LF行尾)。
歷史 編輯
早期的記事本只提供最基本的功能,例如文字尋找功能。較新版本的Windows所搭載的新版記事本可以支援尋找及取代功能,快捷鍵是(Ctrl + H),而Ctrl + F則是傳統的尋找功能。在一些舊版的Windows中,例如Windows 95、Windows 98、Windows Me和Windows 3.1,其所內建的記事本有64k的檔案大小的編輯限制,源自 Windows 的文本框控制項的限制(此控制項預設只能編輯 32767 個字元[1]);這一限制在 Windows XP 中已被克服。
Windows Me中,記事本仍不支援任何快捷鍵操作,亦不支援行數統計功能。從Windows 2000開始,一些普遍的功能開始有快捷鍵的操作,例如新增、開啟和儲存。同時,狀態列亦開始出現,有行數統計器,在自動換行功能取消時才會出現。
在Windows 95中,記事本只支援Fixedsys字型,到了Windows NT 4.0和Windows 98,記事本便開始支援字型變更。在Windows 2000和Windows XP中,預設字型已變為Lucida Console。
在以Windows NT為基礎的作業系統中,記事本可以編輯傳統的 ANSI/MBCS 文字檔案,同時支援Unicode文字檔案(UTF-8和UTF-16,後者包括大頭 / 小頭位元組序)。
記事本亦整合了一個簡單的日誌功能,每一次開啟檔案,都可以記下一個新的時間標籤。要啟用這個功能,在檔案開頭的第一行,必須是".LOG",不包括引號。[2]
直到最近,記事本仍然是一款只可以在Windows下運行的軟件。但如果利用開源的ReactOS作業系統,並配合Wine,就可以在非微軟的作業系統中,運行記事本。該軟件是開源的,並且是GNU寬通用公共許可證的軟件。
從Windows XP開始(Windows ME及Windows 2000未經確認)附帶的記事本,若在自動換行功能打開時儲存,且當前視窗內有任何行長度超過編輯視窗寬度,則儲存後該行會如同在原自動換行位置插入硬Enter一樣「斷開」,更改視窗寬度(無論是擴大還是縮小)便可發現此現象。但是,儲存至檔案中的內容並不會受到影響。
由於記事本無論是功能還是結構都相當簡單(事實上它就是一個裝在視窗里的多行文本框 + 清單欄 + 工具列 + 若干通用對話方塊),稍有經驗的程式設計師都可以開發出與記事本功能近似的小軟件,所以在一些程式語言工具書上也會出現仿照記事本功能作為參考的範例,有趣的是,記事本亦可用來撰寫軟件,但不包含程式的編譯功能,編譯程式仍得透過外部程式解決。
從Windows 10 ver 1803開始,支援Unix/Linux的LF行尾及macOS的CR行尾,亦即可正常顯示在Linux、macOS下編輯的文字檔案,但記事本預設儲存的檔案仍使用CRLF行尾。[3]
在最新版的Windows 11中,記事本有了全新的外觀。配合Windows 11整體的視覺風格,改以Fluent UI的形式設計記事本的全新介面,並加入深色模式,功能上大致無更動。是記事本自推出以來,外觀上最大的改變。
Unicode格式bug 編輯
Windows NT、2000和XP版本的記事本能夠辨識缺乏位元組序標記的Unicode檔案。這個功能由名為IsTextUnicode()
的Windows API提供。[4]但是該功能存在一個缺陷,一些小寫字體的ASCII文字會錯誤判斷為UTF-16。[5]
在2006年5月18日,有報道稱,對於一個含有類似「this app can break」這樣短語的檔案(甚至是類似「aaaa aaa aaa aaaaa」的簡單短語),記事本會將其打開並顯示為Unicode二進制文字。如果安裝了相關中文字型則會顯示二進制碼所對應的漢字。造成這個錯誤的字串可能形如「4個字母+空格+3個字母+空格+3個字母+空格+5個字母」,或者「4個字母+空格+5個字母+空格+5個字母+空格+5個字母」,並且檔案末尾沒有換行符。有人認為這是一個彩蛋,但也有人認為這是由於記事本的Unicode的檢測演算法缺陷所引起的。這個問題已在Windows Vista版本的Notepad中被修復。
另外,在中文簡體環境下用ANSI(對於相應的ANSI變體,為GBK)儲存的檔案有時會被誤認為Unicode編碼。如在記事本中輸入「聯通」或「聯絡」並儲存,再次打開的時候會顯示亂碼。這個問題已在Windows 8版本的Notepad中被修復。
競爭軟件 編輯
對很多用戶來說,記事本已被WordPad或其他的文字處理軟件取代,例如Microsoft Word。但是,記事本開啟一個檔案並不需要加鎖。即是就算已有其他軟件,其他用戶開啟該檔案,記事本都可以再次開啟它。而WordPad就不可以。此外,由於記事本並沒有高級的格式編輯功能,很多人都發覺記事本的簡單外觀,可以更有效處理基本的文字操作。而MS-DOS Editor文字處理軟件,在Windows 95更新後,已成為一個MDI軟件。它可以提供更多記事本沒有的功能。
現在,有很多的第三方軟件可以取代記事本。那些軟件同時有更多功能,包括自由軟件Notepad++和Notepad2,和免費軟件AkelPad、TED Notepad、EditPad Lite或商業軟件EmEditor等。
參見 編輯
參考文獻 編輯
- ^ 存档副本. [2016-01-01]. (原始內容存檔於2018-05-09).
- ^ Features of LOG and Time/Date Command in Notepad. [2007-10-11]. (原始內容存檔於2014-12-14).
- ^ 终于,微软修复了 Notepad 长达 33 年的换行“Bug” - 开源中国社区. www.oschina.net. [2018-05-11]. (原始內容存檔於2019-08-16) (中文(中國大陸)).
- ^ IsTextUnicode() at Microsoft.com URL last accessed July 3, 2006.
- ^ "this api can break." (頁面存檔備份,存於互聯網檔案館) URL last accessed August 2, 2006.