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<Storage {}>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<Storage {}>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 的输入缓冲区。
在插入点后加上引号,键入(或粘贴)的每个字符都会导致:
- 正在回显的新字符,
- 转载引号,然后
- 发出退格键以移回插入点。
与输入行末尾的粘贴相比,串行流量总共增加了 3 倍。
许多终端程序在粘贴期间都有可配置的每个字符延迟,以精确处理这个问题。不幸的是,putty 还没有这样的功能,尽管它有 wishlist item。
我目前正在使用 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<Storage {}>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<Storage {}>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 的输入缓冲区。
在插入点后加上引号,键入(或粘贴)的每个字符都会导致:
- 正在回显的新字符,
- 转载引号,然后
- 发出退格键以移回插入点。
与输入行末尾的粘贴相比,串行流量总共增加了 3 倍。
许多终端程序在粘贴期间都有可配置的每个字符延迟,以精确处理这个问题。不幸的是,putty 还没有这样的功能,尽管它有 wishlist item。