組み込み関数 chr(i)
Unicodeを渡すと対応する文字列を返してくれる。
英大文字のA
は Unicodeの10進数で65なので
>>> chr(65)
'A'
となる。
chr()
に渡すUnicodeを26文字分ループしてあげれば、アルファベットのリストが作れる
>>> [chr(i+65) for i in range(26)]
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
英小文字a
は97なので、同様に
>>> [chr(i+97) for i in range(26)]
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
組み込み関数 ord(c)
文字列からUnicodeを検索してくれる組み込み関数もある。渡す文字列は1文字のみ。(いわゆるchar)
こうなる
>>> ord('A')
65
Emojiを渡してもよい🤞
>>> ord('🤞')
129310
Unicodeを検索で調べるときの注意
「Unicode A」などでググってUnicodeを調べることもあるかもしれない。
例えばWikipediaのこのページを見ると、
コード | 文字 | 文字名(英語) | 説明 |
---|---|---|---|
U+0041 | A | Latin Capital letter A | ラテン文字の大文字のA |
と書かれている。
U+0041
...?? 65じゃなかったのか!?
と戸惑うが、単に16進数表記されているだけなのでどちらも正しい。
>>> hex(65)
'0x41'
>>> chr(0x41)
'A'
ちなみに"U+"は文章中にUnicodeを記載するための表記法で、値には関係ない。