Windows记事本
Windows记事本[1],通称记事本[2][3][4][5][6],官网名称为Windows Notepad[7],是一个简单的文本编辑器,自1985年发布的Windows 1.0开始,所有的Windows版本都内建这个软体。该软件的程式设计师是理查德·布罗迪(Richard Brodie),1983年5月,微软在亚特兰大COMDEX上推出了由布罗迪编写的基于鼠标的文本编辑器Multi-Tool记事本,并配备了195美元的微软鼠标。
原作者 | 理查德·布罗迪 |
---|---|
开发者 | 微软 |
首次发布 | 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 个字符[8]);这一限制在 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",不包括引号。[9]
直到最近,记事本仍然是一款只可以在Windows下运行的软体。但如果利用开源的ReactOS作业系统,并配合Wine,就可以在非微软的作业系统中,运行记事本。该软体是开源的,并且是GNU宽通用公共许可证的软体。
从Windows XP开始(Windows ME及Windows 2000未经确认)附带的记事本,若在自动换行功能打开时保存,且当前窗口内有任何行长度超过编辑窗口宽度,则保存后该行会如同在原自动换行位置插入硬回车一样“断开”,更改窗口宽度(无论是扩大还是缩小)便可发现此现象。但是,保存至文件中的内容并不会受到影响。
由于记事本无论是功能还是结构都相当简单(事实上它就是一个装在窗口里的多行文本框 + 菜单栏 + 工具栏 + 若干通用对话框),稍有经验的程式设计师都可以开发出与记事本功能近似的小软体,所以在一些程式语言工具书上也会出现仿照记事本功能作为参考的范例,有趣的是,记事本亦可用来撰写软体,但不包含程式的编译功能,编译程式仍得透过外部程序解决。
从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文字处理软体,在Windows 95更新后,已成为一个MDI软体。它可以提供更多记事本没有的功能。
现在,有很多的第三方软体可以取代记事本。那些软体同时有更多功能,包括自由软体Notepad++和Notepad2,和免费软体AkelPad、TED Notepad、EditPad Lite或商业软体EmEditor等。
参见
参考文献
- ^ Windows系统内:“Windows 记事本 11.2405.13.0 © 2023 Microsoft。保留所有权利。”
- ^ 秦玉海.电子数据 [DB/OL] (2022-12-23) [2024] // 陈奎元.中国大百科全书. 3版网络版.北京:中国大百科全书出版社.
- ^ 宋丙剑,张艳军.记事本、Excel在Mapsource和Mapgis数据转换中的应用探讨 [J/OL].矿山测量, 2008 (2): 27-30+71+4. 中国知网.
- ^ 梁筱.记事本、画图等Win 11原生应用悄悄发生了这些变化 [N/OL].电脑报, 2023-09-18 (44). 中国知网. https://doi.org/10.28184/n.cnki.ndina.2023.000697.
- ^ 王志军.利用记事本实现行首添加固定字符 [J/OL].电脑知识与技术(经验技巧), 2015 (6): 41. 中国知网.
- ^ 黄肇祥. Windows 內建記事本變得超好用!3 大新功能讓你不必再開 Word. 自由时报. 2024-03-22 [2024-07-07] (中文(台湾)).
- ^
- Windows Notepad. apps.microsoft.com. [2024-07-07] (中文(中国大陆)).
- Windows Notepad. apps.microsoft.com. [2024-07-07] (中文(台湾)).
- ^ 存档副本. [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.