文字列
文字列リテラル
Python 3.3 までは、内部 UTF-16と UTF-32 が混在していた。
sys.maxunicode の値が 0xffff か 0x10ffff かで判定できる。
現在は UTF-32 で取り扱われる。
code:py
import sys
print(hex(sys.maxunicode))
# 0x10ffff
ソースのエンコーディングは、先頭行でのエンコーディング宣言がない場合は UTF-8 になる。
文字列をリテラルとして書く場合、ダブルクォーテーションでもシングルクォーテーションもまったく同じ。
code:py
"abc" == 'abc'
文字列は配列のようにアクセスできる。
内部UTF-32で、その場所の文字コードの文字列が取得される。
code:py
文字コードを確認する場合 ord を使う
code:py
print(ord("a"))
Unicode データベース
Python: 拡張書記素クラスターを考慮して文字数を求める