所以,我的问题很简单:在用户“输入”(从物理键盘或任何其他方式)字符键之后,程序如何接收原始输入位?
我的意思是我知道字符编码在程序将其作为原始位接收后如何工作,但我不清楚该位序列最初是如何出现的。
我一直在阅读一些内容,但结果证明这对我的 Google-fu 来说是一个艰难的搜索。似乎操作系统从输入设备(通常是键盘)接收扫描代码,使用字符映射和键盘布局将其映射到编码,然后将生成的位序列传递给程序。我对吗?如果是这样,对我来说唯一缺少的部分是:
键盘布局如何定义扫描码对应的字符?使用 Unicode 代码点?操作系统特定的内部表?
其次,程序是否在编译时定义了它期望输入(来自操作系统)的字符编码?有吗?