記事本
記事本,正式名称是微软记事本,是一個簡單的文本编辑器,自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未经确认)附带的记事本,若在自动换行功能打开时保存,且当前窗口内有任何行长度超过编辑窗口宽度,则保存后该行会如同在原自动换行位置插入硬回车一样“断开”,更改窗口宽度(无论是扩大还是缩小)便可发现此现象。但是,保存至文件中的内容并不会受到影响。
由於記事本无论是功能还是结构都相当简单(事实上它就是一个装在窗口里的多行文本框 + 菜单栏 + 工具栏 + 若干通用对话框),稍有經驗的程式設計師都可以開發出與記事本功能近似的小軟體,所以在一些程式語言工具書上也會出現仿照記事本功能作為參考的範例,有趣的是,記事本亦可用來撰寫軟體,但不包含程式的編譯功能,編譯程式仍得透過外部程序解決。
從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).
- . [2007-10-11]. (原始内容存档于2014-12-14).
- . 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.