如何使用十六进制代码键入 Unicode 字符?

85 keyboard unicode characters

这是在 Windows 中,但其他操作系统的答案对其他人来说可能很方便。

大多数指南都说“按住 Alt 键并在键盘上输入代码”。这适用于十进制代码(如“A”的 65),但不适用于十六进制代码(如“A”的U+0041)。

一些应用程序提供其他工具,允许输入十六进制 Unicode 字符代码,然后进行转换。Word 允许您键入代码(例如 200f),然后通过键入 Alt-X 将其转换为 Unicode。

我正在寻找一种适用于标准输入的通用方法。

har*_*ymc 43

如何在 Microsoft Windows 中输入 Unicode 字符中找到了这个:

我在 Windows XP 和 Windows 2003 上对此进行了测试。无论您的语言设置如何,此方法都有效,但键入起来最麻烦:

  1. 按住 Alt 键。
  2. 按数字小键盘上的 +(加号)键。
  3. 输入十六进制 unicode 值。
  4. 松开 Alt 键。

唉,这似乎需要注册表设置。它已经在我的电脑上设置了,但是一些读者报告说这种方法对他们不起作用,这可能就是原因。如果您不知道注册表是什么,请不要尝试。在 下 HKEY_CURRENT_USER\Control Panel\Input Method,将 EnableHexNumpad 设置为“1”。如果必须添加,请将类型设置为 REG_SZ。

您应该在此注册表更改后注销然后登录,甚至重新启动。

  • 如果您不知道注册表是什么,则永远不要碰它。向你认识的人寻求帮助。 (6认同)
  • 嗨哈里姆。如何输入十六进制中的字母?例如:`"" =  ` - 在我点击 `F` 后,在 Windows 上执行 alt 菜单命令。它不会转换为十进制(128073)而不添加前导零。 (5认同)
  • +1 但有几件事:(i) 在 Firefox 和 IE 中,如果您尝试输入的十六进制代码包含与菜单的 Alt+[字母] 快捷方式相对应的字母,则菜单会下拉而您没有得到你的角色(这在两者上都打破 E&F,IE 上的 A 和 Firefox 上的 B,记事本和 winkey+R“运行”框一样工作正常);(ii) REG_SZ 可能会在右键单击新条目菜单中显示为“注册表字符串” (2认同)

小智 24

harrymc 的回答很好,前提是您能够/允许更改注册表设置。

如果没有,您可以使用 Windows 计算器附件将十六进制转换为十进制。默认模式不会这样做:XP 和 Vista 具有“科学模式”,而 Windows 7、8、8.1 和 10 具有“程序员”模式。

选择十六进制基数,然后输入您的十六进制数。然后更改为Dec base 以查看十进制的等效值。这是您在按住Alt键的同时需要在数字小键盘中输入的数字。

可能取决于输入语言,您可能需要在十进制值前加上零。

  • 使用十进制数的方法取决于“输入语言”(作为 Microsoft 的概念),因此结果因系统和程序而异。例如,在大多数 Windows 程序中,当系统语言设置为英语或其他西方语言时,这种方式只能键入 Windows Latin 1 字符。对于 n > 255 的任何 Alt 0n 将工作“模 256”,即通过除以 256 并取余数将 n 减小到范围 0...255。 (8认同)
  • 答案具有误导性,因为它没有提到在使用 Ascii 范围 (> 127) 之外的十进制数时需要前导零。如果您想输入 U+23AF 并因此将 23AF 转换为十进制 9135,然后尝试使用 Alt 9135,您会得到“»”(U+00BB)。您需要输入 Alt 09135(使用小键盘)才能获得正确的字符。 (6认同)
  • 或者,`set /a 0x4321` 也将显示 17185。 (4认同)
  • 这个答案是错误的。Alt+0nnn (0-255) 从系统的 ANSI 代码页(例如 1252)输入一个字符。如上所述,输入的值是模 256。Alt+nnn (0-255),不带前导零,输入来自系统 OEM 代码页的字符(例如 437 或 850)。然而,前 31 个代码不是普通的 ASCII 控制字符,而是在 1980 年代运行 DOS 的 PC 上为这些字符显示的字形。在 Windows API 中,后者对应于通过 `MultiByteToWideChar` 将字节解码为 Unicode 时使用 `MB_USEGLYPHCHARS` 标志。 (4认同)
  • 这不起作用 - 正如其他人提到的,它取决于所选的代码页。Alt+0nnnn 仅在 Word 中对我有效,在其他任何地方都失败。请注意,该答案有很多赞成票并标记为已接受,因此对于寻找答案并努力复制您的解决方案的人来说这是非常误导的,而这根本不起作用。 (2认同)

Arj*_*jan 17

在 Mac OS X 上:在“系统偏好设置”中打开“国际”,然后在“输入菜单”中选择“Unicode 十六进制输入”以将此选项添加到输入菜单。听起来很明显,但这隐藏在乌克兰语和越南语之间的一长串语言中。选中后,按住 Option 键并键入 4 位十六进制代码。

同样在 OS X 上:计算器可以设置为程序员模式 (Cmd-3),允许输入十进制、八进制和十六进制代码,然后显示为 ASCII 或 Unicode。但是, Copy 会给一个代码,而不是等效的字符。任何人?

(对于 Windows,请参阅如何在 Microsoft Windows 中输入 Unicode 字符;有关其他输入方法,请参阅Wikipedia。)

在超级用户这里:

并走向极端:


JMD*_*JMD 9

在 Ubuntu(及其变体,如 LinuxMint)中,您可以通过按Ctrl+ Shift+u后跟 Unicode 值和 Enter 来输入 Unicode 值,例如:

Ctrl+ Shift+u 263a然后回车,得到:

文本: ?
截屏:替代文字

您可以将其与 AutoHotkey 结合使用,以便于输入或在 Windows 中进行可能的输入。

  • 不幸的是,它只适用于 GTK+ 应用程序。 (2认同)
  • 您还可以在键入代码时按住 Ctrl-Shift 键,从而避免之后必须按 Enter。 (2认同)

Sim*_*ter 5

我编写了一个基于 AutoHotkey 的小型Unicode 输入工具,因为我没有找到更好的解决方案。您可以使用Shift+ Ctrl+插入 unicode 字符U

Unicode 对话框

基本上,它将条目转换为 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
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

103621 次

最近记录:

4 年 前