我目前正在使用管道输入/输出流原理来读取和写入使用 JSCH 的 shell 通道。
问题:当我将 shell 的响应传输到 jQuery 终端时,我的 jQuery 终端中出现了奇怪的字符。
我尝试以不同的方式读取管道输入流来解决问题:
尝试1:
private synchronized String readResponse() throws IOException {
byte[] array = new byte[pin.available()];
pin.read(array);
return new String(array, Charset.forName("UTF-8"));
}
尝试2:
private synchronized String readResponse() throws IOException {
final StringBuilder s = new StringBuilder();
while(pin.available() > 0) {
s.append((char) pin.read());
}
return s.toString();
}
可悲的是,这个问题仍然存在。谁能帮我?
更新: 我刚刚发现,当我在 Java 输出控制台中打印相同的字符串时,它可以工作。
更新 2: 我已经导入了 unix_formatting.js 文件,它几乎是固定的。这个文件的问题是它对 unix 转义码的支持有限。js链接:https ://unpkg.com/jquery.terminal@1.23.2/js/unix_formatting.js
如何在 jQuery 终端中解决此问题?