Python3 – bytesとString

概要

Pythonでの文字列表現をバイト列に変換するにはencodeメソッドを用い、バイト列を文字列に変換するにはdecodeメソッドを用いる。encode/decodeの引数には文字コードを指定する。

バイト列をPythonのprint文で出力すると、b'文字列'で表現され、改行文字などはエスケープコード(\nなど)で表示される。

ASCII文字列

encode/decode

ASCII文字列はencode/decodeの引数を'ascii'とする。

ASCIIの場合は引数が'utf-8''shift_jis'としても結果は同じ。

16進表現

bytes.hexメソッドの引数にバイト列を与えると、その16進表現の文字列が得られる。

UTF-8/Shift_JIS

encode/decode

マルチバイト文字の場合、encodedecodeで文字コードを整合させる。

encodedecodeで文字コードが違うと、文字化けするのではなくエラーになる。

ただしerrors引数の設定をデフォルトの'strict’から変更すると、文字化けした文字列などが返される。

16進表現

マルチバイト文字の16進表現はバイト列の表現のとおりになる。

 

コメントを残す

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