Linux 键入字符时使用什么编码?

Linux 键入字符时使用什么编码?,linux,windows,input,Linux,Windows,Input,当我用键盘键入例如西班牙语字符时,使用什么编码将该字符发送到应用程序,例如记事本或Word 例如,键盘是否将其作为Unicode字符发送,应用程序是否将其转换为所需的编码,例如ANSI 操作系统的默认编码是否起作用 请使用Windows和Linux。在现代Windows中,至少在应用程序读取之前,它在内部将是UTF-16,然后如果应用程序使用旧的-A API,那么它将在该点转换为活动代码页。然而,希望没有人再使用这些API了,如果您使用的是例如.NET应用程序,它将保持为UTF-16。@Rup您

当我用键盘键入例如西班牙语字符时,使用什么编码将该字符发送到应用程序,例如记事本或Word

例如,键盘是否将其作为Unicode字符发送,应用程序是否将其转换为所需的编码,例如ANSI

操作系统的默认编码是否起作用


请使用Windows和Linux。

在现代Windows中,至少在应用程序读取之前,它在内部将是UTF-16,然后如果应用程序使用旧的-A API,那么它将在该点转换为活动代码页。然而,希望没有人再使用这些API了,如果您使用的是例如.NET应用程序,它将保持为UTF-16。@Rup您知道浏览器使用什么编码吗?如果我键入西班牙语字符,提交表单时使用什么编码?它应默认为页面的字符集/编码。希望是Unicode/UTF-8.BTW,键盘不会发送Unicode字符。键盘发送扫描代码。在Windows上,键盘驱动程序将这些代码转换为独立于设备的虚拟键代码,应用程序在WM_KEYDOWN和WM_keydup消息中接收这些代码。线程的消息循环调用TranslateMessage将这些消息转换为WM_CHAR消息,具体取决于窗口类,通常分配给窗口过程。参见示例代码。