Как я могу вводить непечатаемые символы ASCII в терминале Mac OS X? [дубликат]

Вопрос или проблема

Чтобы общаться с устройством последовательного типа через Telnet, мне нужно ввести нулевой символ (ASCII 0) и все другие непечатаемые ASCII символы.

В Windows вы удерживаете Alt и вводите код ASCII.

Как мне это сделать на Mac OS X?

Ctrl + Space отправляет ASCII NUL.

В общем случае, Системные настройкиКлавиатураИсточники ввода, прокрутите вниз по списку и выберите Unicode Hex Input.

Затем вы можете использовать Cmd + Shift + Space (и, если отключить использование Spotlight, Cmd + Space), чтобы переключаться между режимами ввода или назначить ему сочетание клавиш в Системные настройкиКлавиатураСочетания клавиш.

После включения Unicode Hex Input вы удерживаете Option и вводите четырехцифровой шестнадцатеричный код; при отпускании Option он должен быть введен. Вы можете оставаться в этом режиме, пока не понадобятся символы, выходящие за пределы U+007F (или, конечно, ввести их все с помощью шестнадцатеричного ввода вместо, скажем, Option + e, e, чтобы ввести é).

Во многих приложениях CLI/TUI вы можете нажать Ctrl + V, чтобы сообщить приложению принять нажатие следующей клавиши как необработанный код символа, вместо вызова его обычной функции.

Ответ или решение

Для ввода невидимых ASCII-символов в терминале macOS существует несколько методов, которые могут быть полезны как для опытных пользователей, так и для новичков. Ниже мы рассмотрим наиболее эффективные способы достижения этой цели.

Использование сочетаний клавиш

  1. Ввод символа NULL (ASCII 0):
    Для отправки символа NULL в терминале macOS можно использовать сочетание клавиш Ctrl + Space. Это позволит вам передать этот специфический невидимый символ непосредственно по порту.

  2. Использование сочетания Ctrl + V:
    В большинстве приложений командной строки (CLI) и текстовых интерфейсов (TUI) можно использовать Ctrl + V для того, чтобы обозначить, что следующая нажатая клавиша должна обрабатываться как исходный код символа, а не как команда. Это может не сработать для всех невидимых символов, однако для некоторых это будет эффективным способом их ввода.

Включение и использование Unicode Hex Input

Если вам необходимо вводить и другие невидимые символы, вы можете активировать режим ввода Unicode Hex:

  1. Активация режима ввода Unicode Hex:

    • Перейдите в Системные настройки (System Preferences) → Клавиатура (Keyboard) → Ввод источников (Input Sources).
    • Пролистайте список и добавьте Unicode Hex Input.
  2. Переключение между раскладками:

    • Используйте сочетание Cmd + Shift + Space для переключения между режимами ввода.
    • Обратите внимание, что для беспроблемного переключения вы можете назначить отдельные сочетания клавиш в разделе Клавиатурные сокращения (Keyboard Shortcuts) в Системных настройках.
  3. Ввод символов:

    • После активации режима Unicode Hex Input удерживайте клавишу Option и вводите четырёхзначный шестнадцатеричный код символа. Например, для символа ASCII 0 (NULL) введите 0000, затем отпустите Option — и символ будет введён.

Важно помнить

  • При использовании метода с вводом шестнадцатеричных кодов важно находиться в режиме Unicode. Это обеспечит правильное преобразование введённых значений в соответствующие символы.
  • Некоторые приложения могут иметь ограничения на ввод невидимых символов, поэтому в таких случаях стоит использовать описанные выше методы в различных терминальных или текстовых интерфейсах.

В заключение, с помощью описанных методов вы можете эффективно вводить невидимые ASCII-символы, такие как NULL, в терминале macOS. Это может значительно облегчить работу с различными устройствами и протоколами, где требуются специфические символы для взаимодействия.

Оцените материал
Добавить комментарий

Капча загружается...