我使用以下代码在Python中设置了更改供稿:
feed = r.table("table").changes().run(db)
for change in feed:
print(change)
这在第一次更新时崩溃,并出现UnicodeDecodeError。事实证明,RethinkDB在返回的JSON末尾附加了序列\ x10 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x94 \ x00 \ x00 \ x00,这使解析器崩溃。对数据库的任何其他请求都可以正常工作。
这些字符来自哪里? 除了修改驱动程序以去除多余的字符之外,我该怎么办?
编辑:这是一个回复示例,摘自net.py(json_str.decode)的第73行:
{"new_val":{<newly inserted stuff>},"old_val":null}],"n":[1]}\x10\x00\x00\x00\x00\x00\x00\x00\x94\x00\x00\x00