このコードを実行しようとすると、「エンコードのない文字列引数」というエラーが繰り返し表示されます。
ota_packet = ota_packet.encode('utf-8') + bytearray(content[current_pos:(final_pos)]) + '\0'.encode('utf-8')
何か助けて?
ベストアンサー1
文字列オブジェクトを に渡していますbytearray()
:
bytearray(content[current_pos:(final_pos)])
バイトにエンコードできるように、エンコード引数 (2 番目の引数) を指定する必要があります。
たとえば、UTF-8 にエンコードすることもできます。
bytearray(content[current_pos:(final_pos)], 'utf8')
オプションのソースパラメータは、いくつかの異なる方法で配列を初期化するために使用できます。
- 文字列の場合は、エンコーディング(オプションで、エラー) パラメータ
bytearray()
を使用して文字列をバイトに変換しますstr.encode()
。