首先,ASCII 码表示的字符不都是可打印字符(可显示字符),意味着,其中的控制字符本不是对应某个字形的,所以本没有办法看到他们。那么如果万一某个文件中出现了这些怎么办捏??这里我们需要再了解下啥叫“纯文本文件”。这个概念我们经常见,但其实现在已经被各种滥用。通俗讲,应该是主要由可见字符组成的文件,比如纯 ASCII 可见字符、Unicode 非控制字符等……这个概念针对的是“二进制文件”,即任何二进制序列的字节都可能存在的文件。然后“纯文本编辑器”就是用来对付纯文本文件的编辑器,由于字符大多可见,只需要按字符对应的字形显示出来,大家就知道它是谁了。那如果万一有个文件,里面的某个编码位置在字体中没有字形咋办?这个问题,取决于编辑器的作者决定怎么办,——比如,跳过去不管,比如显示个问号或者别的啥,又比如想办法把编码显示出来。Vim 选择了一种很帅气的解决方案:ASCII 0-31 部分的所有字符,将编码加上 64 之后对应的全部为可打印字符,于是将 0-31 位置的字符,用 ^ 跟转换之后对应的那个字符绑在一起当作一个字符显示出来,既简洁又实用,——是为“脱字符表示法”。例如,0x00 对应 ^@ (0+64),0x0D(回车)对应 ^M (13+64)……

BTW,脱字符表示法还刚好对应了 Vim 的另几个霸气的功能:i_Ctrl-V 之后将插入键的“本意”。比如 i_Ctrl-V 之后按回车,你将得到 ASCII 字符 0x0D,既显示为 ^M 的那个东东。再来一个,i_Ctrl-V 之后 Ctrl-@,你将得到 ASCII 字符 NUL。所以作为一个霸气侧漏的文本编辑器,Vim 可以让你有机会显示、输入非打印字符(see :h i_Ctrl-V, :h i_Ctrl-V_digit, :h i_Ctrl-K),是不是很爽?最后,关于那个 reg 文件。Windows 下有个很蛋疼的编码叫 Unicode 16,就是每两个字节表示一个字符。这个编码之所以蛋疼就是,如果只有 ASCII 字符,文件会比本该的大小大一倍;更蛋疼的是,这个格式不好做编码检测,很多文本编辑器对这个的支持不好。如果你用记事本打开,或者直接在 cmd 里面 type,都能轻松看懂里面是啥;可是文件里面明明应该是 0x41 的字符,却成了 0x0041 或者 0x4100,我们 Vim 就只好把多出来的那个字节 0x00 显示成 ^@

输入 i_Ctrl-V 之后按回车,你将得到 ASCII 字符 0x0D,也就是回车符号,在字面上显示为 ^M

是指你在普通命令模式下,输入 i 切换到插入模式,然后按下组合键 Ctrl + v,在光标处会出现符号 ^,此时按下“回车键”,就在光标处插入 ^M 这样的字符了。

查看 i_Ctrl-V 的在线说明文档,则是在底行命令模式下输入 h i_Ctrl-V

就是切换到底行命令模式下后,输入 h 再输入 i,再输入下划线 _,再输入单词 ctrl,再输入连字符-,再输入字符 v,大小写都可以,输完后按下“回车键”,就可以打开在线说明文档,如下图所示:

输入 i_Ctrl-V 之后,再输入Ctrl-@ 可以在文档中插入空字符 NUL

在普通命令模式下输入 i,切换到插入模式后,按下 Ctrl 键不放,再按下字母 v 键,然后同时放开,就会在光标处出现 ^,接着输入组合键 <Ctrl-@>,就是先按下 Ctrl 不放,然后再去按 @,然后同时放开,就可以插入 ^@,代表空字符。

ASCII 码表在线查询

最新文章

  1. 数字图像处理——第五章 图像复原与重建
  2. 从1的补码说起计算机的数制
  3. 谷歌、亚马逊、微软、IBM…这些巨头都已如何通过AI赚到钱了?
  4. 如何为Oracle配置多个监听器
  5. UML精粹--标准对象建模语言简明教程
  6. endnote修改正文中参考文献标注_请问endnote里,如何把正文中插入参考文献处的格式由数字转为(作者,年份)?感恩!...
  7. jmeter-正则表达式提取器
  8. 什么是RIA 技术?
  9. DevCon 5 2019 活动照片
  10. linux程序员实用教程,Linux教程合集(Linux程序员必备)
  11. win32应用程序_winxp不是有效的win32应用程序解决方法
  12. Java 语言使用 Observer/Observable 实现简单的观察者模式
  13. Linux下编写C语言
  14. 嵌入式linux 修改mac,MAC to MAC 环境下,嵌入式linux的修改
  15. 好毒的电商导流上网站
  16. linux查看cpupower模式,cpupower命令 – 调整CPU主频
  17. 一步一个脚印,QAD助力CAPP走出信息化进阶之路
  18. 将一组阿拉伯数字转换成中文大写数字
  19. 三农数据(1996-2020)四:农、畜牧业产品产量、生产性固定资产、农场数、耕地面积等
  20. mysql utf8转化utf8mb4

热门文章

  1. jboss fuse 教程_在JBoss Fuse / Fabric8 / Karaf中使用Byteman
  2. 如何集成和使用EclEmma插件来获得良好的Junit覆盖率
  3. Java中的PriorityBlockingQueue
  4. Java 11:新的HTTP客户端API
  5. JPA技巧:避免N + 1选择问题
  6. 如何在Tomcat中设置JNDI数据库连接池-Spring教程示例
  7. java文件序列化_通过快速Java和文件序列化加快速度
  8. 在Spring WebFlux中创建多个RouterFunction
  9. Java SE中的Bootstrap CDI 2.0
  10. Java时间和日期指南