ごく単純なひらがなカタカナ変換
毎回やるたびに忘れてて調べるのでメモ.
やりかた
hira = u'あ' kata = unichr(ord(hira) - 96) # -> kata = u'ア'
やってること
ord() は文字のコードを返す関数で,ascii型ならasciiコード,unicode型ならunicodeを返す.
unichr() は逆にコードからunicode型を返す.
ord() が返す値は実体参照?と呼ばれる値?で,ひらがなとカタカナは96ずつずれて同じように並んでいる.
ord() には文字を1文字ずつしか渡せないので,文字列はばらす必要があるし,文字列型はunicode型にしておく必要がある.
追記
文字のコードというのは,文字に対応する数字のIDのようなもので,ascii型とかunicode型というのは文字のこと.
文字のコードは要は文字を数字で表したものなので,数字を足したり引いたりすると別の文字を表す数字が得られる.
ascii型というのは概ねアルファベットのこと,unicode型というのはたいていあらゆる文字を含んでいる.
文字列をばらす最も簡単な方法は,
code_list = [] strings = u"ほげほげふがふが" for char in strings: code_list.append(ord(char)) # -> "ほげほげふがふが" の1文字ずつの文字コードがリストに入る