如何配置 PuTTY 以在使用串行连接时显示不可打印的 ASCII 字符?

如何配置 PuTTY 以在使用串行连接时显示不可打印的 ASCII 字符?

我正在尝试通过串行端口调试与硬件设备的通信。硬件设备偶尔会发送非字母数字或空格字符的信息。虽然我的 Python 程序可以看到设备发送的每个非打印字符,但 PuTTY 不会显示任何非字母数字和非空格文本,而是跳过这些字符,就好像它从未收到过它们一样。

我正在尝试使用 PuTTY 读取和写入进出串行端口的信息,但由于 PuTTY 似乎只显示字母数字和空格字符,因此我缺少设备发回给我的信息。

知道我可以做些什么来让 PuTTY 显示这些字符(当它们出现时)吗?

答案1

尝试让他们更新 PuTTY。这似乎非常可行:只需创建一个自定义字符集,将 0x00-0x1F 的大部分定义为可打印字符。或者添加选项来控制它如何处理具有操作的常见控制字符(CR、LF、BEL、BS、FF(清除)、^E(回复)等)以及不具有操作的不常见控制字符。对于每个控制字符,它可以显示一个符号、执行一个操作或两者兼而有之。

同时,您可以从 PuTTY 获得非常有限的用途,或者使用其他东西。

腻子 0.69(20170424) 不显示控制字符,除非在“翻译”、“远程字符集”下选择“VSCII”。这会使 PuTTY 显示控制屏幕上的角色,但仅仅是因为维斯将这六个定义为印刷字符。Ctrl+BEFTY^ 显示为难以区分的越南语字符ẲẴẪỶỸỴ,并复制粘贴为相同的字符。屏幕上显示这些字符后,如果您将“翻译”更改为任何其他字符集,ẲẴẪỶỸỴ 会更改为其他六个字符,这些字符会复制粘贴为实际的控制代码。但是,新收到的控制字符会恢复为不显示任何内容,Ctrl+E 会触发应答(PuTTY 的行为就像您输入了“PuTTY”一样)。

Ctrl+B displays as "Ẳ"; becomes " ┐", which copies and pastes as ␂[STX][0x02].
Ctrl+E displays as "Ẵ"; becomes "│", which copies and pastes as ␅[ENQ][0x05].
Ctrl+F displays as "Ẫ"; becomes "─", which copies and pastes as ␆[ACK][0x06].
Ctrl+T displays as "Ỷ"; becomes "¶", which copies and pastes as ␔[DC4][0x14]
Ctrl+Y displays as "Ỹ"; becomes "├", which copies and pastes as ␙[EM][0x19].
Ctrl+^ displays as "Ỵ"; becomes " " (whitespace), which copies and pastes as ␞[RS][0x1E].

(输入 Ctrl+^ 不起作用。)这些与维基百科中的 VISCII 代码表相匹配。

RealTerm 2.0.0.70(20130828) 使用包含的自定义字体将所有控制字符显示为 2 位代码或 ␂[STX] 等符号。它对本地回显和传入文本进行颜色编码(好)。(鲜明的红色和黄色。)鲜明而混乱的用户界面。对于本地回显,单击“半双工”。它对 CR 有独特的解释:它转到起始位置,但在字符进入之前不会换行。最新的测试版看起来一样。

Tera Term 4.94(20170228) 不显示控制字符。它甚至不记录不对其采取行动的控制字符。

答案2

转到“更改设置 -> 窗口 -> 翻译”

现在从‘远程字符集’下拉框中选择“ISO-8859-1:1998(Latin-1,西欧)”

单击“应用”按钮。

问题解决了!

相关内容