我正在编写一个java代码,用于连接和执行基于telnet的设备中的命令。 当我登录时,会出现如下消息:
Trying 10.11.115.160...
Connected to 10.11.115.160.
Escape character is '^]'.
问题在于,当我想要注销时,不知道如何使用简单的字符串来写这个字符'^'',如下所示:
telnetClient.execute("^]");
或
telnetClient.execute("\uXXXX");
在linux终端中,它使用ctrl +]。 我没有在unicode表中找到这个char。
有人知道吗?提前谢谢答案 0 :(得分:6)
Ctrl + ]
是U+001D INFORMATION SEPARATOR THREE
,所以它是\u001d
。可以通过运行cat | hexdump
并输入Ctrl + ]
,Ctrl + D
来轻松检查。
U+001B ESCAPE
是Ctrl + [
。
答案 1 :(得分:4)
该字符是“组分隔符”,或\u001d
。
^]
来自于一种对打印不可打印字符进行编码的旧方法。具有ASCII值的字符(是的,这远远低于ASCII仍然相关的时间)低于32的字符使用^
字符和另一个ASCII字符进行编码,从{{{ 1}}。因此,NUL(0)变为@
,字符编号1变为^@
,2变为^A
等等.GS恰好具有29的值,并且在ASCII表中的@之后的第29个字符是^B
。
编辑:删除了尴尬的错误估算¬___