无法再使用 Alt 代码插入 Unicode 字符

无法再使用 Alt 代码插入 Unicode 字符

我一直在使用Alt 代码一段时间以来,在多个应用程序中,省略号 8230 一直存在。几天前,它停止工作,按下+ + + + (在数字键盘上)时&显示 而不是。这在我的台式机和笔记本电脑上都发生了(我使用它)。两者都在 64 位 Win-7 上运行,代码页为 850,并且两者都可能最近更新了 Windows 和 Opera 12。Alt8230Fn

此输入法被禁用的原因可能是什么, 和我该如何切换回来

顺便说一句,我刚刚发现Alt+ 0+ 1+ 3+3确实有效。我还发现Alt+ 8+ 2+ 3+0在 WordPad 或 MsWord10 中仍然有效,但在 Opera 和 Notepad++ 中都无效 - 在那里,字符代码在插入前以 256 为模数进行转换。

答案1

据我所知,Alt nnnn(nnnn 十进制 > 255)方法是 RichEdit 的一个功能,因此仅适用于某些程序,例如 WordPad 和 MS Word。在其他程序中,输入的数字 nnnn 会以 256 为模数减少,得到一个 0...255 范围内的数字,并根据所使用的代码页进行解释。

参见通过键盘插入 Unicode 字符?其中描述了一些替代方法。不幸的是,Alt + xxxx(xxxx 十六进制;例如,Alt + 2026 表示“…”)方法显然默认被禁用,您需要修改 Windows 注册表以允许它。除了 UnicodeInput 实用程序之外,还有按名称输入 Unicode,但是这些方法对于快速打字来说并不像 Alt 方法那么方便。

答案2

Alt 代码和 unicode 字符仅仅模糊地相​​关,并且(在大多数情况下)由每个应用程序决定如何处理它们,因此应用程序、应用程序版本等之间可能会有所不同。

本质上它是关于字符编码和代码页,而不是字体或用户输入。

ASCII 的 Alt 代码仅为 0-255(8 位代码页)。许多程序(和操作系统)通过将数字换行到 256 来处理用户输入的较大数字。

256 = 0, 257 = 1,等等。

因此,输入 ALT+8230 实际上相当于输入 ALT+38(8230 / 256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38),即 ASCII 字符“&”——除非程序拦截它并用“正确的”Unicode 代码替换它,或者使用不同的代码页(即:Unicode),例如 MS Word 和较新版本的 WordPad 所做的那样。

Windows 使用 MSDOS 8 位代码页 (850) 的扩展版本,称为“Windows-1252“代码页(无论如何适用于英语)。但它只将其用于不完全支持 Unicode 代码页的操作系统的旧部分。

这就是为什么您可以在不同的操作系统和应用程序中以及 Windows 本身的不同部分中轻易看到不同结果的原因。

至少可以说这是一个令人困惑的问题。:)

我很确定 Alt-0133 是省略号的“官方”Windows 扩展 ALT 代码(在 Windows 代码页中),因此您使用它可能会有更好的运气。

以下是更多相关信息

答案3

U+8230不是省略号,是汉字军舰。我不知道为什么你会得到一个带有省略号的代码,但 133 确实是它的正确代码点。

您到底在哪里看到了 8230 的省略号?也许这是 Opera 中的一个错误,自上次更新以来已经修复。如果它出现在“多个应用程序”中,那么也许您的字体或键盘布局/区域设置或其他方面存在错误(没有想到任何明显或合理的原因,因此它肯定是一个错误,而不是合法的设置)。

如果(出于某种原因)你真的想要/需要使用不正确的代码点而不是正确的代码点,您可以使用 Authotkey 之类的东西来创建一个接受和弦或序列并输出您想要的内容。

你是当然你能输入Alt+ Numpad-8+ Numpad-0+ Numpad-2+吗Numpad-3?虽然有些程序可能独立支持它,但 Windows 默认不接受这样的高 Unicode 代码点。你可以使用十六进制输入虽然:Alt++++++ 。Numpad-+2​​026

答案4

也许当前字体不支持这样的大写 Unicode 字符,请将字体更改为“Arial”并重试。

当我在写字板中测试这一点时,ALT+8+2+3+0 适用于 Arial,但对其他一些字体无效。

相关内容