Как вы вводите символы Юникода, используя шестнадцатеричные коды?

Это в Windows, но ответы для других операционных систем могут быть полезны для других.

В большинстве руководств говорится что-то вроде "зажмите клавишу Alt и введите код на клавиатуре". Это прекрасно работает для десятичных кодов (например, 65 для "A"), но не для шестнадцатеричных кодов (например, U+0041 для "A").

Некоторые приложения предоставляют другие средства, которые позволяют вводить шестнадцатеричные коды символов Unicode, а затем преобразовывать их. Word позволяет вводить код (например, 200f), а затем преобразовывать его в Unicode, набрав Alt-X.

Я ищу общий способ сделать это, который будет работать со стандартным вводом.

8 ответов

Решение

Ответ harrymc хорош, если вы можете / можете изменять настройки реестра.

Если нет, вы можете использовать Windows Calculator Accessory для преобразования из шестнадцатеричного в десятичное. Режим по умолчанию не будет этого делать: XP и Vista имеют "Научный режим", тогда как Windows 7, 8, 8.1 и 10 имеют режим "Программист".

Выберите шестнадцатеричное основание, а затем введите шестнадцатеричное число. Затем перейдите к основанию Dec, чтобы увидеть эквивалентное значение в десятичном виде. Это число, которое нужно набрать на цифровой клавиатуре, удерживая нажатой клавишу Alt.

Это может зависеть от языка ввода, и вам может потребоваться префикс ноль к десятичному значению.

Нашел это в разделе Как вводить символы Unicode в Microsoft Windows:

Я проверил это в Windows XP и Windows 2003. Этот метод работает независимо от любых ваших языковых настроек, но наиболее громоздок для ввода:

  1. Нажмите и удерживайте клавишу Alt.
  2. Нажмите кнопку + (плюс) на цифровой клавиатуре.
  3. Введите шестнадцатеричное значение Unicode.
  4. Отпустите клавишу Alt.

Увы, для этого требуется настройка реестра. Он уже был установлен на моем компьютере, но некоторые читатели сообщают, что этот метод не работает для них, и это, вероятно, почему. Если вы не знаете, что такое реестр, пожалуйста, не пытайтесь это сделать. Под HKEY_CURRENT_USER\Control Panel\Input Methodустановите EnableHexNumpad в "1". Если вам нужно добавить его, установите тип REG_SZ.

Вы должны выйти из системы, а затем войти в нее после изменения реестра или даже перезагрузить компьютер.

В Mac OS X: откройте "Международный" в "Системных настройках" и в "Меню ввода" выберите "Шестнадцатеричный ввод Unicode", чтобы добавить эту опцию в меню ввода. Звучит очевидно, но это хорошо спрятано в длинном списке языков, между украинским и вьетнамским. Когда выбрано, удерживайте Option и введите 4-значный шестнадцатеричный код.

Также в OS X: калькулятор может быть установлен в режим программирования (Cmd-3), который позволяет вводить десятичные, восьмеричные и шестнадцатеричные коды, которые затем отображаются как ASCII или Unicode. Однако Copy даст один код, а не символьный эквивалент (ы). Кто-нибудь?

(Для Windows см. Как вводить символы Unicode в Microsoft Windows; другие способы ввода см. В Википедии.)

А вот на Super User:

И впадать в крайности

В Ubuntu (и его вариантах, например LinuxMint) вы можете вводить значения Unicode, нажимая Ctrl+Shift+u, а затем значение Unicode и Enter, например:

Ctrl+Shift+u 263a затем введите выход:

Текст: ☺
Скриншот: альтернативный текст

Вы можете связать это с AutoHotkey для более легкого ввода или возможного ввода в Windows.

Я написал небольшой инструмент ввода Unicode на основе AutoHotkey, потому что я не нашел лучшего решения. Вы можете вставлять символы Юникода с помощью Shift + Ctrl + U.

По сути, он преобразует запись в символ Unicode и "печатает" ее в позиции курсора.

Он не поддерживает 6-значные символы Юникода. Кроме того, если у вас есть поле ввода, где весь текст выделен при потере фокуса, весь текст будет перезаписан (я думаю, я помню, что старая версия 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

Linux (включая приложения Qt/KDE)

Как упоминалось в JMD, вы можете удерживать Ctrl - Shift, набрать u1f4a9 и выпустите, чтобы набрать U+1F4A9 в приложениях GTK+ (включая программы GNOME, Firefox, Chromium и LibreOffice, даже в KDE). Некоторые программы также поддерживают ввод в последовательности Ctrl - Shift - U, 1, f, 4, a, 9, Enter.

К сожалению, это не работает в приложениях Qt (включая программы KDE, Mathematica и VLC). Для символов BMP есть метод ввода Unicode IBus. Для включения откройте настройки IBus и добавьте метод ввода "Other - unicode (m17n)" (должны быть установлены два пакета ibus- m17n и ibus-qt4). Когда курсор находится в текстовой области, активируйте метод ввода (используя панель инструментов IBus или сочетание клавиш). Будучи активным, метод ввода позволяет вам ввести Ctrl - Shift - U, а затем 4 шестнадцатеричных цифры, чтобы ввести соответствующий символ Unicode. Это работает только для персонажей BMP.

(Проверено под Ubuntu.)

Это также зависит от того, где вы хотите использовать специальные символы. С приложениями MS Office вам не нужно прибегать к знанию кодов ASCII для определенных символов - например, для ввода диареза (т. Е. Двух точек, которые вы видите над некоторыми символами в словах, таких как наивный), в Word/ В Outlook/ и т. Д. Вы можете нажать Ctrl + ':' (т.е. Ctrl+Shift+;), а затем "i".

Список ярлыков доступен по адресу http://word.mvps.org/FAQs/General/InsertSpecChars.htm... просто прокрутите вниз до "Международные символы".

Я не знаю, поддерживают ли подобные приложения ярлыки в приложениях, не принадлежащих Office.

Возможно, не совсем то, что вы спрашиваете, но это то, что я искал. В Windows 10 вы можете нажать Win + . или Win + ; открыть браузер Emoji:

/images/76df42e a2451f682381b70b4a1b1aaf6f0d9f64d.png

Как вы можете видеть на изображении выше, вы также можете искать, просто набрав.

Windows - введите код символа в шестнадцатеричном формате

Вот пример того, как ввести любой символ Unicode, он работает, только если реестр Windows изменен, как описано в конце этого ответа:

Нажмите клавиши Alt++20AC. Это введет знак евро (Символ Юникода "U+20AC").

  • Нажмите и удерживайте кнопку Alt.
  • Нажмите клавишу +(плюс) на цифровой клавиатуре.
  • Введите шестнадцатеричное значение Unicode (20AC в примере выше).
  • Отпустите Alt ключ.

Он работает, по крайней мере, в Windows 10, но доказал свою эффективность во многих версиях.

Реестр Windows (нажмите Windows клавишу и введите regedit.exe) необходимо изменить следующим образом:

Под ключ HKEY_Current_User/Control Panel/Input Method, добавьте новое строковое значение EnableHexNumpad и установите его значение на 1.

PS: для информации один список шестнадцатеричных значений Unicode можно найти по адресу https://www.fileformat.info/info/unicode/index.htm.

Для ленивых, следуя правильному ответу от harrymc, вы можете использовать приведенную ниже команду в оболочке CMD для непосредственного редактирования реестра:

REG ADD "HKEY_CURRENT_USER\Control Panel\Input Method" /v EnableHexNumpad /t REG_SZ /d 1

Также помните (как отмечает harrymc) может потребоваться выход из системы или перезагрузка.

Это работает для меня в Firefox в Windows 10, например » который имеет символ Юникода U+00BB.

  • Удерживайте ALT(и все еще держите)
  • Нажмите +
  • Удерживайте CTRL и затем введите bb(ведущие нули можно не указывать)
  • Выпуск CTRL иALT

Использование дополнительного CTRL предотвращает активацию строки меню.

Другие вопросы по тегам