
96
第 4 章 シーケンスとコンテナ型
>>> hello = b'\xe4\xbb\x8a\xe6\x97\xa5\xe3\x81\xaf' # utf-8
の「今日は」
>>> hello.decode('utf-8')
'
今日は
'
>>> str(hello, 'utf-8')
'
今日は
'
逆に、文字列オブジェクトのエンコードは、
str.encode()
メソッドか、
bytes()
で行います。
>>> hello = '
'
>>> hello.encode('utf-8')
b'\xe4\xbb\x8a\xe6\x97\xa5\xe3\x81\xaf'
>>> bytes(hello, 'utf-8')
b'\xe4\xbb\x8a\xe6\x97\xa5\xe3\x81\xaf'
エンコーディング名を指定するとき、大文字・小文字の違いは無視されます。また、スペース、
ハイフン
(
-
)
、アンダースコア
(
_
)
など、ピリオド
(
.
)
以外の記号も、同一視されます。例えば、
次の
4
つのエンコーディング名は、どれも同じ
utf-8
のエンコーディング名として有効です。
'utf_8' == 'UTF-8' == 'UTf=8' == 'uTf 8'
4.5
文字列
Python
の文字列は
Unicode
文字のシーケンスで、リストなどと同じように、インデックスやス
ライスで文字列内の文字を参照できます。文字列オブジェクトは、更新不能なオブジェクトで、オ
ブジェクトを作成した時に指定した値は、後から変更できません。
文字列リテラルは、シングルクォーテーションマーク ...