Это мой подход к достижению ваших возможных результатов.Я не уверен, что это сработает, потому что я не знаю 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'
Чего здесь не хватает, так это чтения данных файла и обработки их на кусочки (используйте цикл).Это должно быть легкой задачей, но если у вас есть какие-либо вопросы, которые вы можете задать.