设置 EnableHexNumpad=1 后,十六进制 Unicode alt 代码在 Notepad++ 和 Excel 中运行良好,但在 Word 中却表现异常

设置 EnableHexNumpad=1 后,十六进制 Unicode alt 代码在 Notepad++ 和 Excel 中运行良好,但在 Word 中却表现异常

我尝试总结我看到的行为,同时考虑到 Windows 无法处理上述代码0xFFFF

  1. Word 可以完美地处理通过Alt+插入的十进制代码点decimal。例如,插入甚至

答案1

我认为这是由于 Word 中的错误造成的,众所周知,Word 中存在一些古老的方法,其工作方式可能与新编程的方法不同。

例如,在 Word 中输入“1200 alt x”会出现预期结果,而输入“alt + 1200”会出现Ұ

这里有趣的部分是 的 Unicode 十六进制代码是Ұ4B0我注意到十进制1200转换成十六进制是4B0。我还注意到“alt + 4B0”也给出Ұ

由此我得出结论,Word 将进行以下不合理的测试:如果在“alt +”之后输入的字符串仅包含数字(“1200”),它将假定它是以十进制书写的,但如果它包含其中一个字母a-f(“4B0”),它将被视为十六进制。

我的这个理论已由您的测试证实 - 当您输入的代码开始包含字母时a-f,它们会被正确解释为十六进制。只要它们只包含十进制数字,它们就会被错误地解释为十进制。

微软对该选项的实施EnableHexNumpad似乎存在很大缺陷。

Word 无法由你或我来修复。你最多可以通过反馈中心向 Microsoft 报告问题(但这没有多大帮助)。

如果你需要一个没有此类陷阱的第三方实用程序,你可以使用古老的 Unicode输入 在 Windows 10 中仍可用于输入 Unicode。它会拦截 Alt+并弹出一个对话框,供您输入 Unicode。

相关内容