Pythonでは、文字列とバイト配列の相互変換が可能です。これは、encodeおよびdecodeメソッドを使用して行います。

'abcd'.encode()  # b'abcd'
b'abcd'.decode()  # 'abcd'

これらのメソッドのデフォルトのエンコーディングはencoding='utf-8'です。

'abcd'.encode(encoding='utf-8')  # b'abcd'
b'abcd'.decode(encoding='utf-8')  # 'abcd'

不正なバイト列に遭遇した場合、デフォルトの挙動はエラーになります。

b'\xff'.decode()  # UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

代替文字に置き換える場合、errors='replace'を指定します。

b'\xff'.decode('utf-8', 'replace')  # '�'

また、Pythonではバイト配列の16進数表記も可能です。

b'\x61\x62\x63\x64'.hex()  # '61626364'

以上のように、PythonではUnicodeとバイト配列の操作が容易に行えます。これにより、文字列のエンコーディングやデコーディング、バイト配列の操作などが可能となります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です