Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

雑多な情報

文字コード (ASCIIコード) を扱う

コンピュータで最も基本的な文字コードは次の表のような ASCII コードで,大小のアルファベット,数字,いくつかの記号と制御文字が割り当てられています.

ascii

目次に戻る

文字から文字コードに変換する

上の表から,例えば,2 進数の「0100 0001」(16進数で「0x41」)には「A」という文字が割り当てられています.つまり,「A」という文字はコンピュータ内部では「0100 0001」という 2 進数として処理されています.

ある文字から ASCIIコード に変換するには ord() を使います.例えば,「A」から ASCII コードに変換すると 10 進数の 65 となります.

s = 'A'
ord(s)
65

「A」の ASCII コードを 16 進数で表示すると確かに「0x41」になりました.

s = 'A'
hex(ord(s))
'0x41'

小文字の「a」は「0x61」になります.

s = 'a'
hex(ord(s))
'0x61'

目次に戻る

文字コードから文字に変換する

また,文字コードから文字に変換するには chr() 関数を使います.

chr(0x6A)
'j'

目次に戻る

大文字と小文字の変換

上の「A」と「a」の ASCII コードを比較すると,大文字の ASCII コードに 32 を加えると小文字に変換できることがわかります.

s = 'G'
chr(ord(s) + 32)
'g'

ASCII コード表では 2 列右にずらすと,大文字から小文字になっています.例えば「0x41」を「0x61」に変換すると「A」から「a」になります.つまり,16進数の世界で 0x20 を加えるとやはり小文字に変換できます.

s = 'V'
chr(ord(s) + 0x20)
'v'

小文字から大文字の変換は逆の操作をするだけです.

s = 'x'
chr(ord(s) - 32)
'X'
s = 'x'
chr(ord(s) - 0x20)
'X'

文字コードに 32 以外の値を加算・減算すると別の文字に置き換えることができます.この操作でシンプルなシーザー暗号なども実現できます.

目次に戻る