Как вы вводите символы Юникода, используя шестнадцатеричные коды?
Это в 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. Этот метод работает независимо от любых ваших языковых настроек, но наиболее громоздок для ввода:
- Нажмите и удерживайте клавишу Alt.
- Нажмите кнопку + (плюс) на цифровой клавиатуре.
- Введите шестнадцатеричное значение Unicode.
- Отпустите клавишу 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:
- Вставить символы Юникода через клавиатуру?
- Вводить странные буквы n без цифровой клавиатуры?
- Как печатать специальные символы в Linux?
И впадать в крайности
В 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 предотвращает активацию строки меню.