向上,向下,向左和向右箭头的“ASCII”代码

时间:2014-05-09 09:01:34

标签: java jquery bash ascii

我正在编写一个从Javascript读取输入的程序,并将这些读数发送给bash。

我可以成功地执行许多操作,例如" A-Z"字母,TAB,CTRL + C等等。但我意识到我无法正确发送给ARROW UP。

如果我从Javascript中读取ascii代码,我会按照Binding arrow keys in JS/jQuery的说明得到以下内容

37 - left
38 - up
39 - right
40 - down

然而,当我向终端发送箭头,十进制密钥代码38时,我写了一个&符号(如下面的ascii表http://www.asciitable.com/

所以,我的问题是:我必须从Java发送什么代码才能告诉bash" arrow key up" ?

PD_我发现它可能会有所不同,具体取决于操作系统,并且此代码可能不会被视为ascii代码,因为这篇文章建议:enter link description here

修改 我使用以下代码从Java写入bash:

JSch jsch = new JSch();
[...]
Channel channel = session.openChannel("shell");
OutputStream out = channel.getOutputStream();
out.write(asciiDecimalCode); // send characters

提前致谢。

1 个答案:

答案 0 :(得分:7)

"箭头向上的转义序列"是"\u001b[A"\u001bESC (Escape)的代码。

这意味着当您在JavaScript中使用单个密钥代码时,您需要向BASH写入3个字节以实现所需的效果。

您可以通过输入 Ctrl + V Up 自行查看。

Ctrl + V 告诉bash:"不要尝试解释下一个输入;只需逐字插入"。

相关: