我正在尝试获取 Rhode and Schwarz RTO 示波器上特定通道的信号数据。我正在使用 vxi11 python(3.6) 库与范围进行通信。
在我第一次尝试时,我能够提取我正在查询的范围通道的所有数据而没有任何错误(使用此查询命令CHAN1:WAV1:DATA?
),但在我开始收到此错误消息后不久。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 10: invalid continuation byte
奇怪的是,我仍然能够毫无问题地获得数据的头部。只有当我请求发送整个数据时,我才会看到此错误。
我试图改变 REAL(binary) 和 ASCii 之间的数据格式,但无济于事。
另一个奇怪的事情是,当我将接收到的数据的数据编码切换为“latin-1”时,它暂时可以正常工作(给我一个奇怪的字符串,我假设这是我想要的数据 - 只是在另一个格式)然后崩溃。
整个输出如下所示:
****IDN : Rohde&Schwarz,RTO,1329.7002k04/100938,4.20.1.0
FORM[:DATA]ASCii : None
CHAN1:WAV1:DATA:HEAD? : -0.2008,0.1992,10000000,1
'utf-8' codec can't decode byte 0xc7 in position 10: invalid continuation byte
'utf-8' codec can't decode byte 0xc7 in position 10: invalid continuation byte
Traceback (most recent call last):
File "testing_rtodto.py", line 21, in ask_query
logger.debug(print(query+" :",str(conn._ask(query))))
File "../lib_maxiv_rtodto/client.py", line 187, in _ask
response = self.instrument.ask(data)#, encoding="latin-1")
File "/usr/lib/python3.6/site-packages/vxi11/vxi11.py", line 743, in ask
return self.read(num, encoding)
File "/usr/lib/python3.6/site-packages/vxi11/vxi11.py", line 731, in read
return self.read_raw(num).decode(encoding).rstrip('\r\n')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 10: invalid continuation byte