ホームページ >バックエンド開発 >Python チュートリアル >Python 3 でバイトを文字列に変換するにはどうすればよいですか?
この質問は、外部プログラムまたは入力ストリームからキャプチャされたデータを処理するときに発生します。このようなデータを印刷やさらなる処理のために通常の Python 文字列としてエンコードしたいと考えています。
次のバイト オブジェクトを考えます:
>>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>> stdout b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
印刷用に文字列に変換するには、バイトをデコードします。適切なエンコーディングを使用します:
>>> stdout.decode("utf-8") '-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
UTF-8 は一般的なエンコーディングですが、実際のエンコーディングと一致するエンコーディングを使用することが重要です。 データ。そうしないと、出力が文字化けしたり、不正確になったりする可能性があります。
以上がPython 3 でバイトを文字列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。