Подтвердить что ты не робот

Аргумент строки Python без кодировки

Я пытаюсь запустить этот кусок кода, и он продолжает давать ошибку, говоря "Аргумент String без кодировки"

ota_packet = ota_packet.encode('utf-8') + bytearray(content[current_pos:(final_pos)]) + '\0'.encode('utf-8')

Любая помощь?

4b9b3361

Ответ 1

Вы передаете строковый объект в bytearray():

bytearray(content[current_pos:(final_pos)])

Вам нужно указать аргумент кодирования (второй аргумент), чтобы он мог быть закодирован в байты.

Например, вы можете закодировать его в UTF-8:

bytearray(content[current_pos:(final_pos)], 'utf8')

Из bytearray() документации:

Необязательный параметр источника может использоваться для инициализации массива несколькими способами:

  • Если это строка, вы также должны указать параметры кодирования (и, необязательно, ошибки); bytearray() затем преобразует строку в байты с помощью str.encode().