Pythonでバイト列(bytes)を文字列(str)に変換する方法
バイト(bytes)オブジェクトを文字列(str)として扱うには、デコード処理が必要です。これには、文字列クラスが持つ decode() メソッドを使用します。このメソッドには、デコードに使用したいエンコーディングを引数として指定できます。
サンプルコード
my_str = b"Hello" # 先頭にbを付けるとバイト文字列になる
new_str = my_str.decode('utf-8') # utf-8エンコーディングでデコードする
print(new_str)実行結果
上記のコードを実行すると、次の出力が得られます。
Hello
なお、Python 3では str 型はUnicode文字列を、bytes 型は生のバイト列をそれぞれ表します。decode() の引数であるエンコーディングを省略した場合、デフォルトとしてUTF-8が使用されます。また、逆に文字列からバイト列へ変換したい場合は encode() メソッドを使用します。
-
Python 3で文字列をバイト列に変換する方法【encode()の使い方を解説】
Python 3で文字列をバイト列に変換する方法 Python 3で文字列(str型)をバイト列(bytes型)に変換するには、文字列クラスが標準で持っている encode() メソッドを使用します。最も一般的なのは、エンコーディングとして utf-8 を指定する方法です。 基本的な使い方 >>> s = uHellΘ WΘrld >>> s.encode(utf-8) bHell\xce\x98 W\xce\x98rld この例では、Unicode文字「Θ」がUTF-8でエンコードされ、2バイトのシーケンス \xce\x98 に変換されています。戻り値には
-
Pythonでバイトリテラルを文字列に変換する方法|decode()の使い方を解説
バイトリテラル(bytesオブジェクト)をPythonの文字列(str)に変換するには、デコード処理が必要です。最も基本的な方法は、bytesオブジェクトが持つ decode() メソッドを使うことです。 decode()メソッドを使った変換 decode() メソッドには、バイト列のエンコーディング(文字コード)を指定します。以下は、UTF-8でエンコードされたバイトリテラルを文字列に変換する例です。 >>> babcde.decode(utf-8) abcde このように、バイトリテラル babcde が通常の文字列 abcde に変換されます。なお、エンコーディン