Micropython - 粘贴时的奇怪行为

Micropython - Weird behaviour when pasting

我目前正在使用 ESP8266 和 Micropython,我遇到了一个奇怪的行为。

示例字符串:


Server: SimpleHTTP/0.6 Python/2.7.13\r\nDate: Wed, 02 Aug 2017 13:40:05 GMT\r\nContent-type: application/octet-stream\r\nContent-Length: 6609\r\nLast-Modified: Wed, 02 Aug 2017 13:02:40 GMT\r\n\r\n&lt;Storage {}&gt;86400<div>Uhrzeit in Sekunden: 65567</div><div>Timer: 20833</div>\r\n<!DOCTYPE html>\r\n<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="de"> <!--<![endif]-->\r\n  <head>\r\n    <meta charset="utf-8">\r\n    <!\xe2\x80\x94 www.phpied.com/conditional-comments-block-downloads/ \xe2\x80\x94>\r\n    <!\xe2\x80\x94 Always force latest IE rendering engine\r\n

当我将它粘贴到 Putty 控制台时,一切正常。当我将它保存在这样的变量中时:

a = 'paste examplestring and add the second '之后就好了

但是当我输入 a = '' 并在之后粘贴字符串时,它变成了:


a = 'Server: SimpleHTTP/0.6 Python/2.7.13\r\nDate: Wed, 02 Aug 2017 13:40:05 GMT\r\nContent-type: application/octet-stream\r\nContent-Length: 6609\r\nLast-Modified: Wed, 02 Aug 2017 13:02:40 GMT\r\n\r\n&lt;Storage {}&gt;86400<div>Uhrzeit in Sekunden: 65567</div><div>Timer: 20833</div>\r\n<!DOCTYPE html>\r\n<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="de"> <!--<![endif]-->\r\n  <head>\r\n    <meta charset="utf-8">\r\n    <!\xe2\x80w.phpditions-blos/ \x\r\n  80\x9rce lnderin\'

我真的不知道为什么会这样。这与Putty有关吗?因为当我直接在我的本地机器上使用 python 解释器时,它可以正常工作而没有这种奇怪的行为。

我猜你只是超出了 ESP8266 的输入缓冲区。

在插入点后加上引号,键入(或粘贴)的每个字符都会导致:

  1. 正在回显的新字符,
  2. 转载引号,然后
  3. 发出退格键以移回插入点。

与输入行末尾的粘贴相比,串行流量总共增加了 3 倍。

许多终端程序在粘贴期间都有可配置的每个字符延迟,以精确处理这个问题。不幸的是,putty 还没有这样的功能,尽管它有 wishlist item