Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで整数をUnicode文字に変換する方法【chr()関数の使い方を解説】

Pythonで整数をUnicode文字に変換するには?

Pythonでは、標準ライブラリに組み込まれているchr()関数を使うことで、整数を対応するUnicode文字に簡単に変換できます。chr()関数は、0から0x10FFFF(10進数で1,114,111)までの範囲にある整数を受け取り、そのコードポイントに対応するUnicode文字を返します。

基本的な使い方

chr()関数の引数に整数(Unicodeコードポイント)を渡すと、該当する文字が文字列として返されます。以下は具体的な使用例です。

>>> chr(36)
'$'
>>> chr(97)
'a'
>>> chr(81)
'Q'

上記の例では、36という整数がドル記号「$」に、97が小文字のアルファベット「a」に、81が大文字の「Q」にそれぞれ変換されています。これらはASCIIコードとUnicodeのコードポイントが一致しているためです。

注意点:指定できる値の範囲

chr()関数に指定できる整数は0以上0x10FFFF以下である必要があります。この範囲外の値を渡すと、ValueErrorが発生するので注意しましょう。

>>> chr(-1)
ValueError: chr() arg not in range(0x110000)

また、負の値や小数を渡した場合もエラーになるため、必ず有効な整数を指定してください。

逆の変換を行うord()関数との組み合わせ

逆に、文字から対応する整数(コードポイント)を取得したい場合は、ord()関数を使用します。chr()とord()は互いに逆の働きをするため、組み合わせて使うことで文字と数値を自由に行き来できます。

>>> ord('a')
97
>>> chr(ord('a'))
'a'

まとめ

  • chr()関数を使うと、整数を対応するUnicode文字に変換できる
  • 指定できる範囲は0〜0x10FFFFで、範囲外の値はエラーになる
  • 文字から整数への変換にはord()関数を使う

このようにPythonの組み込み関数を活用すれば、文字コードの変換処理もシンプルなコードで実現できます。暗号処理やテキスト解析など、さまざまな場面で活用してみてください。

  1. Pythonで文字列を辞書(dict)に変換する方法|ast.literal_evalとjson.loadsの使い分け

    Pythonでは、文字列形式で表現された辞書データを実際のdictオブジェクトに変換したい場面がよくあります。主な方法としては、標準ライブラリの ast.literal_eval() を使う方法と、json モジュールを使う方法の2つがあります。それぞれの特徴と使い方を詳しく見ていきましょう。 方法1:ast.literal_eval() を使う ast.literal_eval() は、文字列をPythonの式として安全に評価する関数です。任意のコードを実行できてしまう eval() とは異なり、リテラル構造以外は評価しないため、セキュリティ面でも安心して利用できます。 評価できるのは、文

  2. Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説

    Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ