【问题标题】:write unicode character for escape telnet为转义 telnet 编写 unicode 字符
【发布时间】:2011-02-21 20:07:43
【问题描述】:

我正在编写一个 java 代码,用于在基于 telnet 的设备中连接和执行命令。 当我登录时,出现这样的消息:

Trying 10.11.115.160...
Connected to 10.11.115.160.
Escape character is '^]'.

问题是当我想注销时,不知道如何使用简单的字符串来编写这个字符'^]',如下所示:

telnetClient.execute("^]");

telnetClient.execute("\uXXXX");

在 linux 终端中,它使用 ctrl + ] 工作。 我在 unicode 表中没有找到这个字符。

有人知道吗?提前致谢

【问题讨论】:

    标签: java sockets unicode special-characters telnet


    【解决方案1】:

    Ctrl + ]U+001D INFORMATION SEPARATOR THREE,所以它是 \u001d。可以通过运行cat | hexdump 并输入Ctrl + ]Ctrl + D 轻松检查。

    U+001B ESCAPECtrl + [

    【讨论】:

      【解决方案2】:

      该字符是“组分隔符”,即\u001d

      ^] 来自一种为打印而对不可打印字符进行编码的旧方法。小于 32 的 ASCII 值(是的,这与 ASCII 仍然相关的时间很早)的字符使用^ 字符和另一个 ASCII 字符作为值进行编码,从@ 开始按顺序获取。所以NUL(0)变成^@,字符1变成^A,2变成^B等等。GS恰好有29的值,ASCII表中@之后的第29个字符是]

      编辑:删除了令人尴尬的误算 ¬__¬

      【讨论】:

        猜你喜欢
        • 2020-06-16
        • 2021-11-05
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 2015-04-28
        • 1970-01-01
        相关资源
        最近更新 更多