エンコーディングなしのPython文字列引数 質問する

エンコーディングなしのPython文字列引数 質問する

このコードを実行しようとすると、「エンコードのない文字列引数」というエラーが繰り返し表示されます。

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()ドキュメンテーション:

オプションのソースパラメータは、いくつかの異なる方法で配列を初期化するために使用できます。

  • 文字列の場合は、エンコーディング(オプションで、エラー) パラメータbytearray()を使用して文字列をバイトに変換しますstr.encode()

おすすめ記事