我如何解释在串行术语中接收和转义的西里尔字母代码

2024-06-06 11:24:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用迷你学期.py通过串行端口接收数据。因为我得到了无法打印的字符,所以我添加了-D(escape unprintable characters)参数迷你学期.py希望我能在稍后的一瞬间解开收到的字符。我所知道的是,有些西里尔字符与英文字符相互交错,但我无法将转义字符与其对应的西里尔字符相关联。 下面是一个示例输出

\x8c\x84  Pump being primed
\x8c\x90  Discharge valve opened

我看了一眼迷你学期.py脚本,它似乎使用repr函数来转义字符。如果有人能为破解这些字符提供一些线索,我将不胜感激。在


Tags: 端口py示例参数字符学期characters接收数据
2条回答

问了这个问题几分钟后我就得到了答案 答案如下。在

字符编码在代码页866中(代码页866(CP 866)是MS-DOS下用于编写西里尔文脚本的代码页)。 将转义的十六进制序列转换为其等效的十进制值,并在code table中查找该值

\x8c\x84  is МД
\x8c\x90  is МР

简单的t'was

在我的例子中,我的结论是:

In [1]: s = '\xd0\xb0'
In [2]: print(s.decode('utf-8'))
а

这可能是因为我使用的是默认utf的Linux

相关问题 更多 >