如何在python中将文本文件或字符串包装成CAN消息格式?

问题描述 投票:-3回答:1

我想在CANtact工具包中发送一个由字符串组成的文本文件,该工具包只接受CAN消息格式(例如[1,2,3,4,5,6,7,8]或[147,63,24,95, 67,22,15,77])长8个字节。如何将文本文件转换为这样的CAN消息格式,最好是在python中

python can-bus
1个回答
0
投票

这是我实现可能结果的方法。我不确定它是否会起作用,因为我不知道CAN。

如果你有一个字符串,只需要8个字符,你可以这样做:

>>> slice_ = "123456789"[0:8]
'12345678'

要转换为字节:

>>> byte_string = str.encode(slice_, "ascii")
b'12345678'

从字节到数组:

>>> message = [i for i in byte_string]
[49, 50, 51, 52, 53, 54, 55, 56]

您现在可以发送此消息。要将其转换回文本:

>>> received_text = "".join(chr(i) for i in message)
'12345678'

这里缺少的是读取文件数据并将其处理到切片(使用循环)。这应该是一项简单的任务,但如果您有任何疑问,欢迎您提出。

© www.soinside.com 2019 - 2024. All rights reserved.