Windows記事本

用於微軟視窗的簡單文本編輯器

Windows記事本[1],通稱記事本[2][3][4][5][6],官網名稱為Windows Notepad[7],是一個簡單的文字編輯器,自1985年發佈的Windows 1.0開始,所有的Windows版本都內建這個軟體。該軟體的程式設計師理察·布羅迪英語Richard Brodie (programmer)(Richard Brodie),1983年5月,微軟亞特蘭大COMDEX上推出了由布羅迪編寫的基於滑鼠的文字編輯器Multi-Tool記事本,並配備了195美元的微軟滑鼠。

記事本
Windows 11中的記事本
Windows 11中的記事本
原作者理察·布羅迪
開發者微軟
首次發布1983年,​41年前​(1983(初名Multi-Tool記事本)
作業系統Microsoft Windows
平台IA-32x86-64ARM(以前有安騰DEC AlphaMIPSPowerPC
前任MS-DOS編輯器英語MS-DOS Editor
類型文字編輯器
許可協定免費軟體
網站www.microsoft.com/en-us/p/windows-notepad/9msmlrh6lzf3

概要

編輯

此軟體相當常見,其儲存檔案的副檔名為.txt,檔案內容沒有任何格式標籤或者風格,所以相當適合在DOS環境中編輯。

特點

編輯

記事本的特點是只支援純文字。一般來說,如果把文字從網頁複製並貼上到一個文書處理軟體,它的格式和嵌入的媒體將會被一起貼上並且難以去除。但是,如果將這樣一個文字先貼上到記事本中,然後從記事本中再次複製到下最終需要的軟體裡,記事本將會去除所有的格式,只留下純文字,在某些情況下相當有用。記事本幾乎可以編輯任何文字檔案,但僅限 DOS 風格的 CRLF 行尾(但自Windows 10 ver 1803開始,支援Unix/Linux/macOS的LF行尾)。

歷史

編輯

早期的記事本只提供最基本的功能,例如文字尋找功能。較新版本的Windows所搭載的新版記事本可以支援尋找及取代功能,快捷鍵是(Ctrl + H),而Ctrl + F則是傳統的尋找功能。在一些舊版的Windows中,例如Windows 95Windows 98Windows MeWindows 3.1,其所內建的記事本有64k的檔案大小的編輯限制,源自 Windows 的文字方塊控制項的限制(此控制項預設只能編輯 32767 個字元[8]);這一限制在 Windows XP 中已被克服。

Windows Me中,記事本仍不支援任何快捷鍵操作,亦不支援行數統計功能。從Windows 2000開始,一些普遍的功能開始有快捷鍵的操作,例如新增、開啟和儲存。同時,狀態列亦開始出現,有行數統計器,在自動換行功能取消時才會出現。

Windows 95中,記事本只支援Fixedsys字型,到了Windows NT 4.0Windows 98,記事本便開始支援字型變更。在Windows 2000Windows XP中,預設字型已變為Lucida Console。

在以Windows NT為基礎的作業系統中,記事本可以編輯傳統的 ANSI/MBCS 文字檔案,同時支援Unicode文字檔案(UTF-8UTF-16,後者包括大頭 / 小頭位元組序)。

記事本亦整合了一個簡單的日誌功能,每一次開啟檔案,都可以記下一個新的時間標籤。要啟用這個功能,在檔案開頭的第一行,必須是".LOG",不包括引號。[9]

直到最近,記事本仍然是一款只可以在Windows下運行的軟體。但如果利用開源的ReactOS作業系統,並配合Wine,就可以在非微軟的作業系統中,運行記事本。該軟體是開源的,並且是GNU寬通用公共許可證的軟體。

Windows XP開始(Windows MEWindows 2000未經確認)附帶的記事本,若在自動換行功能打開時儲存,且當前視窗內有任何行長度超過編輯視窗寬度,則儲存後該行會如同在原自動換行位置插入硬Enter一樣「斷開」,更改視窗寬度(無論是擴大還是縮小)便可發現此現象。但是,儲存至檔案中的內容並不會受到影響。

由於記事本無論是功能還是結構都相當簡單(事實上它就是一個裝在視窗里的多行文字方塊 + 清單欄 + 工具列 + 若干通用對話方塊),稍有經驗的程式設計師都可以開發出與記事本功能近似的小軟體,所以在一些程式語言工具書上也會出現仿照記事本功能作為參考的範例,有趣的是,記事本亦可用來撰寫軟體,但不包含程式的編譯功能,編譯程式仍得透過外部程式解決。

從Windows 10 ver 1803開始,支援Unix/Linux的LF行尾及macOS的CR行尾,亦即可正常顯示在Linux、macOS下編輯的文字檔案,但記事本預設儲存的檔案仍使用CRLF行尾。[10]

在最新版的Windows 11中,記事本有了全新的外觀。配合Windows 11整體的視覺風格,改以Fluent UI的形式設計記事本的全新介面,並加入深色模式,功能上大致無更動。是記事本自推出以來,外觀上最大的改變。

Unicode格式bug

編輯

Windows NT、2000和XP版本的記事本能夠辨識缺乏位元組序標記的Unicode檔案。這個功能由名為IsTextUnicode()的Windows API提供。[11]但是該功能存在一個缺陷,一些小寫字體的ASCII文字會錯誤判斷為UTF-16。[12]

在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英語MS-DOS Editor文字處理軟體,在Windows 95更新後,已成為一個MDI軟體。它可以提供更多記事本沒有的功能。

現在,有很多的第三方軟體可以取代記事本。那些軟體同時有更多功能,包括自由軟體Notepad++Notepad2,和免費軟體AkelPadTED NotepadEditPad Lite商業軟體EmEditor等。

參見

編輯

參考文獻

編輯
  1. ^ Windows系統內:「Windows 記事本 11.2405.13.0 © 2023 Microsoft。保留所有權利。」
  2. ^ 秦玉海.电子数据 [DB/OL] (2022-12-23) [2024] // 陳奎元中国大百科全书. 3版網路版.北京:中國大百科全書出版社.
  3. ^ 宋丙劍,張艷軍.记事本、Excel在Mapsource和Mapgis数据转换中的应用探讨 [J/OL].礦山測量, 2008 (2): 27-30+71+4. 中國知網.
  4. ^ 梁筱.记事本、画图等Win 11原生应用悄悄发生了这些变化 [N/OL].電腦報, 2023-09-18 (44). 中國知網. https://doi.org/10.28184/n.cnki.ndina.2023.000697.
  5. ^ 王志軍.利用记事本实现行首添加固定字符 [J/OL].電腦知識與技術(經驗技巧), 2015 (6): 41. 中國知網.
  6. ^ 黃肇祥. Windows 內建記事本變得超好用!3 大新功能讓你不必再開 Word. 自由時報. 2024-03-22 [2024-07-07] (中文(臺灣)). 
  7. ^
    • Windows Notepad. apps.microsoft.com. [2024-07-07] (中文(中國大陸)). 
    • Windows Notepad. apps.microsoft.com. [2024-07-07] (中文(臺灣)). 
  8. ^ 存档副本. [2016-01-01]. (原始內容存檔於2018-05-09). 
  9. ^ Features of LOG and Time/Date Command in Notepad. [2007-10-11]. (原始內容存檔於2014-12-14). 
  10. ^ 终于,微软修复了 Notepad 长达 33 年的换行“Bug” - 开源中国社区. www.oschina.net. [2018-05-11]. (原始內容存檔於2019-08-16) (中文(中國大陸)). 
  11. ^ IsTextUnicode() at Microsoft.com URL last accessed July 3, 2006.
  12. ^ "this api can break."頁面存檔備份,存於網際網路檔案館) URL last accessed August 2, 2006.

外部連結

編輯