ごく単純なひらがなカタカナ変換

毎回やるたびに忘れてて調べるのでメモ.

やりかた

hira = u'あ'
kata = unichr(ord(hira) - 96)
# -> kata = u'ア'

やってること

ord() は文字のコードを返す関数で,ascii型ならasciiコード,unicode型ならunicodeを返す.
unichr() は逆にコードからunicode型を返す.
ord() が返す値は実体参照?と呼ばれる値?で,ひらがなとカタカナは96ずつずれて同じように並んでいる.
ord() には文字を1文字ずつしか渡せないので,文字列はばらす必要があるし,文字列型はunicode型にしておく必要がある.

文字コードのことはよくわからないが,例えばこのサイトに載っている値はord()が返すのと同じものらしい.

追記

文字のコードというのは,文字に対応する数字のIDのようなもので,ascii型とかunicode型というのは文字のこと.
文字のコードは要は文字を数字で表したものなので,数字を足したり引いたりすると別の文字を表す数字が得られる.

ascii型というのは概ねアルファベットのこと,unicode型というのはたいていあらゆる文字を含んでいる.

文字列をばらす最も簡単な方法は,

code_list = []

strings = u"ほげほげふがふが"

for char in strings:
    code_list.append(ord(char))

# -> "ほげほげふがふが" の1文字ずつの文字コードがリストに入る