文本编辑器如何识别用户是想输入数字还是与之关联的 ascii 值?

How do text-editors recognize if the user wanted to type a number or the ascii value associated with it?

据我目前的理解:-

  1. 系统将所有二进制值视为相等,软件(或应用程序)的任务是将二进制值解释为文本或图像等. 基于应用期望数据所在的 上下文。
  2. 当用户按下一个键时,系统会触发一个事件,任何运行 应用程序都会处理该事件 并获取按下的键的值。

现在,以用户按下 tab 键为例。

水平制表符的二进制值(如果我没记错的话)-

00001001

当这个二进制值转换成十进制时,我们得到 “9” 作为值。

现在我的疑问[s]是:-

  1. 文本编辑器如何识别值“9”还是水平制表符作为最终值?也就是说,
  2. 软件如何知道十进制值是否需要转换成其等效的 ASCII 字符
  3. 是否按下了 tab 键或数字 9 键?
  4. 系统如何、以何种形式或以何种细节触发按键事件?

如果你能帮助我,我会很高兴(当然是简单的意思),如果我有什么错误,请指出。

谢谢!

好吧,我认为你的使命是 2 个非常重要的细节。

他们在这里:-

  1. 所有数字(0 到 9)也存在不同的 ASCII codes,并且数字“9”和十进制值“9”有不同的键码,作为@ggorlen指出,是tab键。
  2. 大多数应用程序总是采用 ASCII(或任何其他类型的字符编码)等效值,而不是按键二进制值的十进制等效值。