我尝试总结我看到的行为,同时考虑到 Windows 无法处理上述代码0xFFFF
:
- 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。