Pythonで整数をASCII文字に変換する方法|chr()関数の使い方を解説
Pythonで整数をASCII文字に変換するには?
Pythonでは、組み込み関数 chr() を使うことで、整数(文字コード)に対応するASCII文字やUnicode文字を簡単に取得できます。引数には0から0xffffまでの範囲の数値を指定でき、その数値が表すコードポイントに対応する1文字が返されます。
chr()関数の基本的な使い方
以下は、chr() 関数を使って整数を文字に変換する具体例です。
>>> chr(0xaa) 'ª' >>> chr(0xff) 'ÿ' >>> chr(200) 'È' >>> chr(122) 'z'
このように、16進数でも10進数でも引数として渡すことができます。たとえば chr(122) はASCIIコード122番に対応する小文字の「z」を返し、chr(200) は拡張ASCII範囲の文字「È」を返します。
ord()関数との関係
chr() の逆の処理、つまり文字から対応する整数(コードポイント)を取得したい場合は、ord() 関数を使用します。両者は互いに逆変換の関係にあります。
>>> ord('z')
122
>>> ord('ª')
170注意点
Python 3では、chr() は厳密にはUnicodeのコードポイントを扱うため、0x10ffff(1,114,111)までの値を指定できます。ただし、ASCIIおよびLatin-1の範囲(0〜0xff)に限定すれば、上記のように直感的に文字変換が行えます。範囲外の値を指定すると ValueError が発生するので注意しましょう。
-
Pythonで文字列を辞書(dict)に変換する方法|ast.literal_evalとjson.loadsの使い分け
Pythonでは、文字列形式で表現された辞書データを実際のdictオブジェクトに変換したい場面がよくあります。主な方法としては、標準ライブラリの ast.literal_eval() を使う方法と、json モジュールを使う方法の2つがあります。それぞれの特徴と使い方を詳しく見ていきましょう。 方法1:ast.literal_eval() を使う ast.literal_eval() は、文字列をPythonの式として安全に評価する関数です。任意のコードを実行できてしまう eval() とは異なり、リテラル構造以外は評価しないため、セキュリティ面でも安心して利用できます。 評価できるのは、文
-
Python関数の引数渡しの仕組みを解説!値渡しに見える理由とは
Pythonでは、関数に引数を渡すとき、その動作が「値渡し(pass by value)」なのか「参照渡し(pass by reference)」なのか迷うことがあります。結論から言うと、Pythonの引数渡しは「オブジェクトへの参照渡し(pass by object reference)」です。ただし、オブジェクトの種類によって挙動が異なるため、「値渡しのように見える」ケースがあります。 サンプルコードの出力結果 b = 30 a = [10] この出力を見ると、変数aの値は関数呼び出し後も変わっていないように見えます。そのため「Pythonの引数は値渡しだ」と結論づけたくなりますが、実