Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;ASCII“;上、下、左、右箭头代码_Java_Jquery_Bash_Ascii - Fatal编程技术网

Java &引用;ASCII“;上、下、左、右箭头代码

Java &引用;ASCII“;上、下、左、右箭头代码,java,jquery,bash,ascii,Java,Jquery,Bash,Ascii,我正在编写一个程序,从Javascript读取输入,并将这些读数发送给bash 我可以成功地运行许多操作,如“A-Z”字母、制表符、CTRL+C等,但我意识到我无法正确地发送以向上猛击箭头 如果我从Javascript中读取ascii代码,我会得到如下解释 然而,当我向上发送箭头到终端,十进制键代码38时,我会写一个“与”(通过遵循ascii表) 所以,我的问题是:我必须从Java向bash发送什么代码来告诉bash“箭头键向上” PD_uui意识到,根据操作系统的不同,它可能会有所不同,并且此

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

我可以成功地运行许多操作,如“A-Z”字母、制表符、CTRL+C等,但我意识到我无法正确地发送以向上猛击箭头

如果我从Javascript中读取ascii代码,我会得到如下解释

然而,当我向上发送箭头到终端,十进制键代码38时,我会写一个“与”(通过遵循ascii表)

所以,我的问题是:我必须从Java向bash发送什么代码来告诉bash“箭头键向上”

PD_uui意识到,根据操作系统的不同,它可能会有所不同,并且此代码可能不会被视为ascii代码,正如本文所建议的:

编辑 我使用以下代码从Java编写到bash:

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

向上箭头的转义序列是
“\u001b[A”
\u001b
是的代码

这意味着,虽然JavaScript中只有一个键代码,但需要向BASH写入3个字节才能达到所需的效果

您可以通过键入Ctrl+VUp亲自查看它

Ctrl+V告诉bash:“不要试图解释下一个输入,只需逐字插入即可”

相关的:


您在这里提到了Java、Javascript和bash。您在做什么?为什么要向bash发送向上箭头?Java程序不是用户。读取Javascript中的字符并使用Java将其发送到bash。在上下文中是有意义的。您拥有的这些代码不是ASCII码,它们只是键盘的键映射代码,可能是ry取决于制造商和本地化。正确,我正在创建一个web终端。这个程序是出于好奇心而不是任何东西。它是一个Javascript终端。(我不理解负面观点).我编辑了主要问题,并添加了我以前编写到bash的代码。它只是使用JSch的ChannelShell来编写输出流中的十进制值。嗯,我在Java中尝试时遇到了
错误:非法转义字符
。当然。Java只支持Unicode转义序列。修复了。如果有来自Swift的人,字符串是“\u{1b}[A”
JSch jsch = new JSch();
[...]
Channel channel = session.openChannel("shell");
OutputStream out = channel.getOutputStream();
out.write(asciiDecimalCode); // send characters