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の組み込み関数を活用すれば、文字コードの変換処理もシンプルなコードで実現できます。暗号処理やテキスト解析など、さまざまな場面で活用してみてください。
-
Pythonで文字列を辞書(dict)に変換する方法|ast.literal_evalとjson.loadsの使い分け
Pythonでは、文字列形式で表現された辞書データを実際のdictオブジェクトに変換したい場面がよくあります。主な方法としては、標準ライブラリの ast.literal_eval() を使う方法と、json モジュールを使う方法の2つがあります。それぞれの特徴と使い方を詳しく見ていきましょう。 方法1:ast.literal_eval() を使う ast.literal_eval() は、文字列をPythonの式として安全に評価する関数です。任意のコードを実行できてしまう eval() とは異なり、リテラル構造以外は評価しないため、セキュリティ面でも安心して利用できます。 評価できるのは、文
-
Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説
Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ