这是在Windows中,但是其他操作系统的答案可能对其他人很方便。
大多数指南说出一些效果,例如“按住Alt键并在小键盘上键入代码”。这对于十进制代码(如“ A”的65)有效,但不适用于十六进制代码(如“ A”的U + 0041)。
一些应用程序提供了其他功能,这些功能允许键入十六进制Unicode字符代码然后进行转换。Word允许您键入代码(例如200f),然后通过键入Alt-X将其转换为Unicode。
我正在寻找一种可以与标准输入配合使用的通用方法。
这是在Windows中,但是其他操作系统的答案可能对其他人很方便。
大多数指南说出一些效果,例如“按住Alt键并在小键盘上键入代码”。这对于十进制代码(如“ A”的65)有效,但不适用于十六进制代码(如“ A”的U + 0041)。
一些应用程序提供了其他功能,这些功能允许键入十六进制Unicode字符代码然后进行转换。Word允许您键入代码(例如200f),然后通过键入Alt-X将其转换为Unicode。
我正在寻找一种可以与标准输入配合使用的通用方法。
Answers:
只要您能够/允许更改注册表设置,harrymc的答案就很好。
如果没有,则可以使用Windows计算器附件将十六进制转换为十进制。默认模式不会执行此操作:XP和Vista具有“科学模式”,而Windows 7、8、8.1和10具有“程序员”模式。
选择“ 十六进制”,然后键入您的十六进制数字。然后更改为以十进制为基数,以十进制查看等效值。这是您在按住Alt键的同时需要在数字小键盘中键入的数字。
这可能取决于输入语言,并且您可能需要在小数点后加零。
set /a
在命令窗口中使用;-)进行计算。要将hex = 4321转换为十进制,只需键入set /a 4*16*16*16+3*16*16+2*16+1
,结果将显示为17185
set /a 0x4321
也将显示17185。–
MB_USEGLYPHCHARS
字节解码为Unicode时使用标志MultiByteToWideChar
。
在如何在Microsoft Windows中输入Unicode字符中找到了这一点:
我在Windows XP和Windows 2003上对此进行了测试。无论您使用哪种语言设置,该方法都可以使用,但是键入起来最麻烦:
- 按住Alt键。
- 按数字键盘上的+(加号)键。
- 键入十六进制的unicode值。
- 释放Alt键。
las,这似乎需要注册表设置。它已经在我的计算机上设置了,但是一些读者报告说这种方法不适用于他们,这可能就是原因。如果您不知道注册表是什么,请不要尝试此操作。在下
HKEY_CURRENT_USER\Control Panel\Input Method
,将EnableHexNumpad设置为“ 1”。如果必须添加它,请将类型设置为REG_SZ。
您应该先注销,然后在此注册表更改后登录,甚至重新启动。
"👉" = 👉
-在我按下F
alt菜单命令后,将在Windows上执行该命令。转换为十进制(128073)且不添加前导零不起作用。
在Mac OS X上:在“系统偏好设置”中打开“国际”,然后在“输入菜单”中选择“ Unicode十六进制输入”以将此选项添加到输入菜单。听起来很明显,但这在乌克兰语和越南语之间的一长串语言中很好地隐藏了。选中后,按住Option键并输入4位十六进制代码。
同样在OS X上:计算器可以设置为程序员模式(Cmd-3),该模式允许输入十进制,八进制和十六进制代码,然后将其显示为ASCII或Unicode。但是,复制将给出一个代码,而不是等效的字符。任何人?
(对于Windows,请参阅如何在Microsoft Windows中输入Unicode字符;有关其他输入法,请参阅Wikipedia。)
在超级用户上:
并进入极端:
在Ubuntu(及其变体,例如LinuxMint)中,您可以通过按Ctrl+ Shift+,u然后按Unicode值并按Enter输入Unicode值,例如:
Ctrl+ Shift+ u 263a然后输入收益:
文字:☺
屏幕截图:
您可能可以将其与AutoHotkey结合使用,以简化输入或在Windows中进行可能的输入。
我写了一个小的基于AutoHotkey的Unicode输入工具,因为没有找到更好的解决方案。您可以使用Shift+ Ctrl+ 插入unicode字符U。
基本上,它将条目转换为unicode字符,并在光标位置“键入”它。
它不支持6位unicode字符。另外,如果您有一个输入字段,其中所有文本都因失去焦点而被选中,那么所有文本都将被覆盖(我想我记得一个旧的Firefox版本显示了这种行为)。
作为参考,如果您要自己编译AutoHotkey源,请在这里:
#SingleInstance force
#Persistent
;Menu, Tray, icon, unicode.ico
Menu, Tray, nostandard ; Put the following menu items on top (default: bottom)
Menu, Tray, add, Info, InfoHandler, -10
Menu, Tray, add
Menu, Tray, standard ; Add default menu items at the bottom
return
InfoHandler:
MsgBox Press Shift+Ctrl+U to get an entry field for unicode points (see decodeunicode.org for a list).`n`nAuthor: Simon A. Eugster <simon.eu@gmail.com> / granjow.net
return
+^u::
InputBox, codepoint, Unicode code point, U+
if not ErrorLevel
Send {U+%codepoint%}
return
它还取决于您要在何处使用特殊字符。使用MS Office应用程序,您不必依靠某些字符的ASCII码-例如,在Word /中输入一个diaresis(即,您在某些字符上方看到的两个点,例如天真)在Outlook / etc中,您可以按Ctrl +':'(即Ctrl + Shift +;),然后按'i'。
在http://word.mvps.org/FAQs/General/InsertSpecChars.htm上有可用的快捷方式列表...只需向下滚动到“国际字符”即可。
我不知道是否有任何非Office应用程序都支持类似的快捷方式。
如JMD所述,您可以按住Ctrl- Shift,键入u1f4a9
和release以便在GTK +应用程序(包括GNOME程序,Firefox,Chromium和LibreOffice,甚至在KDE下)中键入U + 1F4A9。有些程序还支持打字序列Ctrl- - Shift,U,1,f,4,a,。9Enter
不幸的是,这在Qt应用程序(包括KDE程序,Mathematica和VLC)中不起作用。对于BMP字符,有一个Unicode IBus输入法。要启用,请打开IBus首选项并添加“其他-unicode(m17n)”输入法(必须安装两个软件包ibus-m17n和ibus-qt4)。当光标在文本区域中时,激活输入法(使用IBus工具栏或键盘快捷键)。而激活时,输入方法可以键入Ctrl- Shift- U后跟4个十六进制数字,来输入对应的Unicode字符。不过,这仅适用于BMP字符。
(在Ubuntu下测试。)