在Windows中,如何输入Unicode基本多语言平面之外的字符?

时间:2012-03-18 02:26:44

标签: windows unicode astral-plane

我知道Windows自Windows XP以来一直支持补充飞机。

我知道的字体在基本多语言平面(BMP)之外有字符。

对于这些字符,Unicode代码点由五个十六进制数字组成。

我不知道如何在应用程序中输入这些字符。

Windows似乎只支持BMP中字符的键盘输入。您可以输入十进制数字,也可以使用某些应用程序输入四位十六进制数字。

有人可以确认如何管理输入?我不在乎它是直接来自键盘还是应用辅助。 (默认的Windows“字符映射”应用程序仅支持BMP中的字符,因此我需要建议 - 最好是支持至少支持Unicode版本5的应用程序,如果不是6。)

在Java中,这些字符使用UTF-16中的“代理项对”进行管理。我担心Windows可能还会有一些旧的“Unicode是16位”遗留问题,导致出现类似的问题。即使得到确认我需要打入代理对号码也是一个答案。

谢谢!

4 个答案:

答案 0 :(得分:4)

好的,我显然不知道你在说什么。

无论如何,请参阅:

  

默认的Windows“字符映射”应用程序仅支持BMP中的字符,因此我需要建议 - 最好是至少支持Unicode版本5的应用程序,如果不是6。

我找到了一个可以提供帮助的应用程序链接。

http://www.babelstone.co.uk/software/babelpad.html

下载它,然后选择菜单工具 - >然后是人物地图。

希望它可以提供帮助。

如果不为这个误会感到抱歉,只是想帮忙。

答案 1 :(得分:2)

至少在MS Word 2007中,Alt + X方法也适用于非BMP字符:输入U +后跟十六进制的Unicode编号,然后输入Alt + X.如果前面的字符不是数字或字母A-F或X,则可以省略字符U +。您可能需要明确选择文本的字体(即,Word不一定切换到包含字符的字体,正如通常用BMP字符一样)。

在Word中,您也可以使用“插入”→“符号”命令,然后在插入窗口中选择包含所需字符的字体。

使用UnicodeInput程序,您可以通过按Alt +键输入字符,然后输入Unicode编号。它也支持非BMP,但有一个奇怪的限制,由于程序错误:如果右边的第四个数字是一个字母(例如,U + 1B000),它对非BMP字符不起作用。

在Martin的回答中提到的BabelPad是很好的选择,它允许您按数字和Unicode名称选择字符。

也可能有其他Unicode编辑器让你使用BMP;查看Alan Wood的Unicode and Multilingual Programs and Utilities列表。

答案 2 :(得分:2)

我现在已经编写了一个小型实用程序,它可以像应用程序一样在Web浏览器上使用:Full Unicode Input utility。它类似于Windows中的字符映射,但允许您访问所有Unicode平面并获取在区域中收集的选定字符,从中可以将它们作为一个单元进行复制。有点快速和肮脏,但功能。

答案 3 :(得分:1)

我会无耻地插入我为在Windows中输入符号而编写的一个小工具,因为我发现任何解决方案通常对于日常频繁使用而言过于繁琐。我的个人用例是在国际美国键盘上键入瑞典语å,而无需切换布局。

它允许通过弹出窗口输入unicode字符,这与Apple OS X中的工作方式不同。

有关详细信息,请参阅https://github.com/mjvh80/SymWin,它是免费和开源的,但必须(当前)进行编译。如果有足够的兴趣,我可以添加预建版本。

可以按键配置工具,例如通过从http://copypastecharacter.com等网站复制/粘贴符号一次。