この記事では、Pythonで文字コードを取得する方法を解説します。
パソコン内部で文字は「文字コード」と呼ばれる整数で表現されています。なぜ文字が表示できるかというと、出力する際にUnicodeを元に整数から文字という記号に変換しているからです。
つまりは整数から文字を生成したり、文字から整数を取得することができます。
それでは、「文字から文字コードを取得する方法」と「文字コードから文字を取得する方法」を見ていきましょう!
文字から文字コードを取得するにはord()
関数を使います。
ord(char)
char
引数に渡された文字の文字コードを返す関数char
引数に指定できる文字は1文字です。2文字以上を指定するとTypeError
が発生する例として適当な文字の文字コードを出力してみます:
o1 = ord('a')
o2 = ord('あ')
o3 = ord('!')
print(o1) # 97
print(o2) # 12354
print(o3) # 33
文字から文字コードを取得することができました。
文字コードから文字を取得するにはchr()
関数を使います。
chr(i)
0~1114111
ValueError
が発生例として先ほどのコードで取得した文字コードを文字に変換してみます:
c1 = chr(97)
c2 = chr(12354)
c3 = chr(33)
print(c1) # a
print(c2) # あ
print(c3) # !
文字は文字コードで比較されます。
c1 = 'a'
c2 = 'b'
print(f'{c1}({ord(c1)}) < {c2}({ord(c2)})')
print(c1 < c2)
実行結果
a(97) < b(98)
True
文字列の場合は、最初に1文字目が比較され、1文字目が同じ場合、2文字目、3文字目と順番に比較されます。
s1 = 'abc'
s2 = 'abd'
print(s1 < s2)
実行結果
True
View Comments