Pythonでエンコードとデコードを行う方法は?
Python ではさまざまなエンコード方法とデコード方法が提供されています。以下は、その代表例です。
- エンコード(): 指定されたエンコード形式に文字列をエンコードするために使われます。例えば、utf-8エンコードは文字列をバイトオブジェクトにエンコードするために使われます。
string = "Hello, World!"
encoded_string = string.encode("utf-8")
- decode():バイトオブジェクトを指定されたエンコーディングで文字列に変換するために使用されます。たとえば、「utf-8」でデコードしてバイトオブジェクトを文字列に変換できます。
bytes_object = b"Hello, World!"
decoded_string = bytes_object.decode("utf-8")
- str()はオブジェクトを文字列に変換します。エンコーディング形式を指定するオプションのエンコーディングパラメータを受け取ります。
number = 42
string = str(number)
- bytes():文字列をバイトオブジェクトに変換するために使われます。エンコード形式を指定するための、オプションのエンコード引数を取ります。
string = "Hello, World!"
bytes_object = bytes(string, "utf-8")
- bytearray() : bytes()に類似していますが、可変バイト配列オブジェクトを返します。
string = "Hello, World!"
bytearray_object = bytearray(string, "utf-8")
- encodebytes() はバイトオブジェクトを Base64 エンコードされた文字列に変換します。
import base64
bytes_object = b"Hello, World!"
base64_string = base64.encodebytes(bytes_object)
- decodebytes()はbase64エンコードされた文字列をバイトオブジェクトにデコードします。
import base64
base64_string = "SGVsbG8sIFdvcmxkIQ=="
bytes_object = base64.decodebytes(base64_string.encode("utf-8"))
ニーズやエンコード形式によって選択される、よく使用されるエンコードやデコードの方法をいくつか示します。