ALT 代码使用哪种字符编码?

ALT 代码使用哪种字符编码?

在 Windows 中,使用 ALT+nnn 输入字符时,使用的是哪种字符编码?使用 ALT+0nnn 输入字符时,使用的是哪种字符编码?这些答案如何取决于 Windows 的语言和输入法设置(如果有的话)?代码在 255 之后总是重复吗?

我发现多个网站上的信息令人困惑、过时、可能特定于语言或完全错误。尽管这是一项众所周知且广泛使用的 Windows 功能,但我似乎找不到任何关于它的合理官方文档。

答案1

我相信这些快捷方式取决于特定程序(例如 Word、Excel 和记事本)使用的库。microsoft.com 上对 Alt 字符代码的引用始终是在特定应用程序或套件的上下文中。

Alt+nnn 产生的字符不应该依赖于任何 IME,而应该尊重确定当前使用的默认代码页的文档、应用程序或 Windows 语言设置。

微软在使用诸如 ASCII 和 ANSI 等术语时很随意,Alt+nnn 的文档就反映了这一点。

以下是 Vista 命令提示符中的一个小实验

c:\>chcp 437
Active code page: 437
c:\>rem alt+224 α
c:\>rem alt+0224 à

c:\>chcp 869
Active code page: 869
c:\>rem alt+224 ζ
c:\>rem alt+0224 à
c:\>rem alt 0137 ‰

在控制面板中添加希腊语键盘布局并从语言栏中选择希腊语后,在写字板中进行的实验表明,ALt+0224 从代码页 1253(现代希腊语)生成 ΰ,而 Alt+224 生成 Σ(尽管我还没有发现这意味着哪个 DOS/OEM 代码页)

由此我推断

  • Alt+nnn 始终是当前 DOS(也称为 OEM)代码页
  • Alt+0nnn 始终是当前 Windows 代码页
  • 以上不同
  • 可以使用语言栏来更改这些。

至少对于我尝试过的程序来说是这样。

相关内容