我正在尝试读取一串位,并以有意义的方式将它们打印到单独的文件中。
本质上,我正在从传感器(串行输出)读取数据,该传感器为十六进制。然后,我想将此信息转换为二进制信息,然后以图形方式将其显示在网页上。每当传感器获取读数时,它将在终端屏幕上显示:# load/import classes
from dask.distributed import Client
# set up cluster and workers
client = Client(n_workers=4,
threads_per_worker=1,
memory_limit='64GB')
# have a look at your workers
client
# do some work
## ...
# close workers and cluster
client.close()
。然后,我将此数字转换为:17E12000
,它分为九个不同的类别,即:00010111111000010010000000000000
。我似乎无法弄清楚如何将二进制字符串拆分为任意长度(即,长度为2,然后长度为3,长度为3 ...长度为2,长度为4,长度为8。值分开分隔,我需要将它们转换为十进制以显示它们,类似于以下内容:
00 010 111 111 000 01 0010 0000 00000000
我认为我可以处理后一部分。我真的可以对如何制止像DoT: 0
DoD: 2
MAG INT: 7
VEH INT: 7
PERS INT: 0
Duration: 1
CLASS: 2
EXT Sens type: 0
Ext: S
这样的字符串打印成00010111111000010010000000000000
的方法使用一些见识。每个分组都可以保存到换行符,也可以如图所示通过空格分隔。
我的代码将从文件中读取一个输入,例如:00 010 111 111 000 01 0010 0000 00000000
(已从终端输出打印到文件中)。我只关心最后一个分组,即TXM 02 030 01 00 17E12000
。