sách gpt4 ai đã đi

c++ - 如何阻止发送到 PuTTY 的字符破坏其标题/输出?

In lại 作者:行者123 更新时间:2023-11-27 23:04:31 27 4
mua khóa gpt4 Nike

我正在从 mbed 上运行的 C++ 程序向 Windows 上的 PuTTY 发送 JSON。

我已经转义了字符 \, /, ", \b, \N,\f,\r,\t 根据 json.org。

但是我还有三个不明白的怪癖:

  1. 窗口标题更改为部分输出。有时。
  2. 光标跳过“向上”并开始覆盖那里的内容。
  3. 类似于 \N 的换行符,但水平位置保持在行上方。

我认为 (3) 可能是 \v,但是转义它并没有帮助,而且 JSON 规范没有要求我们转义它。

Tôi đang làm gì sai?

1 Câu trả lời

您会发现这不是您的应用程序,而是 putty 使用的实际终端仿真。

有几种方法可以缓解这种情况。

1) 如果您担心的只是标题搞砸了,那么只需禁用远程客户端更改标题即可。

打开Putty,在侧边菜单中进入“终端->功能”,在这个页面上你会找到“禁用远程控制窗口标题更改”,勾选它,你就不会再有问题了。

2) 如果还有更多内容,那么您需要深入研究“终端”和“窗口”设置部分。

尤其是窗口设置有许多您可以更改的地方,这些地方将影响 Putty 如何响应它认为是控制代码的内容。

例如在 Window->Translation 中,您可以强制使用远程字符集,或者告诉 putty 使用“+-=”作为画线符号而不是 ms-dos 框画集。

在“Terminal->Keyboard”中,您可以更改 putty 处理各种传入字符序列的方式。

我不知道你在 IT 行业工作了多久,但早在 Windows、HTTP 和 JSON 出现之前,终端执行的所有操作都由“控制代码”控制

这里的第一个图表:Ascii Chart

可以看出32之前的所有代码都有特殊含义。

有些诸如制表符(Ctrl 代码 9)和回车符(Ctrl 代码 13)今天仍在使用,但很多已经不使用了。添加到此 ANSI 控制代码标准

参见此处:Ansi Escape Codes这里:VT100 codes它经常用于为 BBS 系统制作基于文本的艺术作品(参见此处:Ansi Art on Wikipedia)

结果有点混搭,像 Putty 这样的终端仍将尝试在当今丰富的多媒体世界中进行解释。

像 JSON 这样的东西可以产生字符序列,有时会使 Putty 误以为它正在接收要对其执行操作的字符串,但其中缺少数据。与任何体面的终端仿真一样,它通常会尽其所能处理接收到的信息,但有时也会出错。

这就是为什么我认为,您的问题的解决方案在于调整终端响应设置等内容,以使腻子不会对事物做出如此严厉的 react 。

关于c++ - 如何阻止发送到 PuTTY 的字符破坏其标题/输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24532346/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com