Python chr()
関数は、文字コード(ASCII コードや Unicode コードポイント)を対応する文字に変換する便利な機能です。特に、Python で文字処理や特殊文字を出力する際に頻繁に利用されます。この記事では、chr()
関数の基本的な使い方とその活用法について詳しく解説します。
目次
Python chr() 関数とは?
Python chr()
関数は、整数を入力として受け取り、その整数に対応する文字を返します。このとき、入力する整数は ASCII コード(American Standard Code for Information Interchange)または Unicode に対応します。
例えば、ASCII コードで数字の97は文字 ‘a’ に、65は文字 ‘A’ に対応します。chr()
関数を使用すれば、これらの数字を対応する文字に変換できます。
ASCII コードを文字に変換する
以下は、chr()
関数を使用して ASCII コードを文字に変換するコードです。
chr(97)
chr(65)
下の図で、97が ‘a’ に、65が ‘A’ に変換されることがわかります。この方法で、さまざまな数字を文字に変換することができます。
Unicode を文字に変換する
chr()
関数は ASCII コードだけでなく、Unicode もサポートしています。Unicode は世界中の文字を表現するための国際規格であり、さまざまな言語の文字を含んでいます。chr()
関数を使えば、韓国語、日本語、絵文字なども表現できます。
Unicode では、12354は日本語の ‘あ’ に、29233は中国語の ‘爱’ に、44032は韓国語の ‘가’ に対応します。これを chr()
関数で変換すると、以下のようになります。
chr(12354)
chr(29233)
chr(44032)
また、絵文字のような特殊文字を出力する場合にも chr()
関数を使用できます。例えば、絵文字 ‘😊’ は Unicode 128522番に対応します。特にソーシャルメディアやウェブページに絵文字を挿入する際に便利です。絵文字の Unicode 値がわかれば、簡単に出力できます。
chr(128522)
chr(128515)
chr(128516)
chr(128517)
chr() 関数の有用な活用方法
Python ord() 関数と一緒に使う
Python では、ord()
関数と chr()
関数を一緒に使用して、ASCII コードと文字を相互変換できます。例えば、文字を ASCII コードに変換してから、再び chr()
で文字に戻す方法です。
ascii_code = ord('A')
print(ascii_code)
chr(ascii_code)
この方法を使えば、文字の ASCII コードがわかっている場合や計算した場合でも、簡単に文字に変換できます。
特殊文字の出力
chr()
関数は、特殊文字を出力する際にも非常に便利です。例えば、改行文字 ‘\n’ を ASCII コードで出力したり、タブ文字 ‘\t’ などの特殊文字をコードを通じて確認できます。
chr(10)
chr(9)
この他にも、さまざまな特殊文字をコードに変換して活用することができます。
注意点: 範囲外の数字を入力する
chr()
関数に無効な数字を入力すると、エラーが発生します。例えば、ASCII コードの範囲を超えた値(例: 負数)を入力すると、ValueError
が発生します。
try:
print(chr(-1))
except ValueError as e:
print(f"Ocurred Error: {e}")
そのため、chr()
関数を使用する際には、常に入力する数字が正しい範囲内にあることを確認する必要があります。以下の ValueError
メッセージでは、chr() arg not in range(0x110000)
と表示されます。16進数で 0x110000 は 1,114,112 なので、有効な範囲は 0 から 1,114,111 までの Unicode 値です。
chr() 関数の使い方の要約
chr()
関数は、整数を文字に変換する Python の組み込み関数です。- ASCII コードと Unicode の両方をサポートしているため、さまざまな文字を出力できます。
ord()
関数と組み合わせると、ASCII コードと文字を相互変換できます。- 特殊文字や絵文字を出力する際にも役立ちます。
- 入力する数字の範囲が有効かどうかを確認する必要があり、0〜1,114,111 の間の値のみが入力可能です。
まとめ
Python の chr()
関数は、シンプルでありながら非常に有用な文字変換機能を提供します。ASCII コードだけでなく、Unicode 文字も扱えるため、さまざまな文字や絵文字を出力することができます。また、特殊文字を扱う際にも簡単に利用でき、多様な活用方法があります。注意点としては、入力する数字が有効な範囲にあるかを常に確認することが重要です。特に、Unicode を利用した絵文字の出力方法は、SNS 開発などの分野で活用してみてください。