Python では、バイト オブジェクトはバイナリ データを表し、文字列はテキスト情報を保持します。プログラムの標準出力などの外部ソースからバイト オブジェクトを取得した場合、処理または表示のためにそれを文字列に変換する必要がある場合があります。
Python 3 では、 decode() メソッドを使用してバイト オブジェクトを文字列に変換します。
bytes_object = b'binary data' string = bytes_object.decode("encoding")
ここで、「encoding」はバイト オブジェクトのエンコーディングを表します。たとえば、データが UTF-8 でエンコードされている場合、次のように使用します。
bytes_object.decode("utf-8")
例:
キャプチャされた ls コマンドからの次の出力を考えてみましょう。バイト オブジェクトとして:
>>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0]
このバイト オブジェクトを印刷可能な文字列に変換するには、次のようにします。使用:
stdout_string = stdout.decode("utf-8") print(stdout_string)
以上がPython 3 でバイトを文字列にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。