【问题标题】:How to get the unicode characters for sequences: CTRL+B, CTRL+L, ALT+K, etc... Got for some not all?如何获取序列的 unicode 字符:CTRL+B、CTRL+L、ALT+K 等...得到一些不是全部?
【发布时间】:2017-01-02 16:28:14
【问题描述】:

我正在编写一个与 Linux 中的 Nano 接口的应用程序。 Nano 需要接收控制序列来保存/退出/和处理文件(^G ^R ^O ^Y ^K 等...)

我偶然发现了 ^X = U+0018 的 unicode。我用 CTRL+SHIFT+U+0018 将它输入到 GEdit 中,然后按 Enter。这给了我可以复制/粘贴的角色。但是,由于我希望我的应用程序完整,我希望能够拥有一个完整的 unicode 字符列表,用于 ctrl/alt/shift + 任何其他键的组合。

我尝试通过使用 netcat 在 shell 之间连接并按下(例如)CTRL+B 并查看另一侧出现的内容来做到这一点。这适用于其中一些,而不适用于所有人,因为终端在能够通过 netcat 发送之前会“解释”一些转义。

我现在提供赏金,因为我花了几个小时试图解决它,但没有运气,我想要的是:

  • A) 获取 CTRL/ALT/SHIFT + key combinations 的所有 unicode 的方法(例如 CTRL+G = what unicode)?
  • B) 包含我上面提到的那些的综合列表。

【问题讨论】:

  • Unicode 是 可打印 字符的标准,不适用于某些控制台模式序列,所以很抱歉,除非我弄错了,否则您的问题对我来说似乎有点离题...跨度>
  • Tomas,当按下 ctrl+k 之类的控制字符来模拟它们时,我需要映射“发送到控制台的任何内容”。到目前为止,唯一有效的是找出 unicode,创建字符,并将其在程序中传递到控制台。

标签: php


【解决方案1】:

你想要showkey 命令

提示 - X 是字母表中的第 0x18 个字母:

^@   0x00
^A   0x01
...
^X   0x18
^Y   0x19
^Z   0x1A
^[   0x1B
^\   0x1C
^]   0x1D
^^   0x1E
^_   0x1F

更复杂的组合实际上显示为 一系列 字符(例如 Alt+F3^[^[[13~ - 6 个字符)。

请注意,所有这些都是真的 ascii。

【讨论】:

  • 但是你如何找到 ALT+F3 或 CTRL+F9 等?并且ALT+CTRL同时加其他字母?
  • @OBV:在你的 shell 提示符中输入 showkey - 你可能需要是 sudo
  • 你是怎么得到 ^[^[[13~ 的?当我尝试使用 showkey 时,它给了我:^[01;3R
  • @OBV:我想这在某种程度上取决于您的设置。无论如何,我认为我的键盘映射有点无聊,因为我正在通过腻子进行测试。无论如何,如果您按下的按键可以控制nano,那么showkey 吐出的东西就是正确的。
  • 好的,谢谢,我等着看是否能得到更多答案,但我认为这可以完成主要部分的工作。
【解决方案2】:

在 Windows 上启动附件中的字符映射。当您按下一个字母时,左下角应该有该字符对应的 unicode。

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2012-09-12
    • 2011-09-28
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多