34.10.8 终端 I/O 编码

Emacs 可以使用编码系统对键盘输入进行解码,并对终端输出进行编码。 这对于使用特定编码(如 Latin-1)传输或显示文本的终端非常有用。 Emacs 在对终端 I/O 进行编码或解码时,不会设置 last-coding-system-used

Function: keyboard-coding-system &optional terminal

该函数返回用于对来自 terminal 终端的键盘输入进行解码的编码系统。 若值为 no-conversion,表示不执行任何解码。 如果 terminal 被省略或为 nil,则表示当前选中框架对应的终端。 See 多终端

Command: set-keyboard-coding-system coding-system &optional terminal

该命令将 coding-system 指定为用于解码来自 terminal 终端键盘输入的编码系统。 如果 coding-systemnil,表示不对键盘输入进行解码。 如果 terminal 是一个框架,则代表该框架对应的终端; 如果为 nil,则代表当前选中框架对应的终端。 See 多终端。 注意:在现代 Windows 系统上,Emacs 始终使用 Unicode 解码键盘输入, 因此该命令设置的编码在 Windows 上无效。

Function: terminal-coding-system &optional terminal

该函数返回当前用于对 terminal 终端输出进行编码的编码系统。 若值为 no-conversion,表示不执行编码。 如果 terminal 是框架,则代表该框架对应的终端; 如果为 nil,则代表当前选中框架对应的终端。

Command: set-terminal-coding-system coding-system &optional terminal

该命令将 coding-system 指定为用于对 terminal 终端输出进行编码的编码系统。 如果 coding-systemnil,表示不对终端输出进行编码。 如果 terminal 是框架,则代表该框架对应的终端; 如果为 nil,则代表当前选中框架对应的终端。