pyjf - python library for Japanese language
日本語エンコーディング変換ライブラリ pykf も開発以来10年を超え、さすがにいろいろと古くなってきた。ぼちぼち大幅に手を入れようかと検討してみると、どうも原型がなくなるぐらい修正が入りそうな気配。
それでは、ということで pykf はそのままにして、新しくモジュール pyjf を起こすことにした。とりあえずプロトタイプとしてpure Python版を開発し、問題なさそうならPyRexかCython版を開発しようと思う。Python版は一通りできあがっているので、拡張モジュールの使えないGoogle AppEngineなどで使ってみてほしい。
現状での仕様は以下の通り
guess(s)
文字列 s のエンコーディングを推測する。戻り値は UNKNOWN, ASCII, SJIS, EUC, JIS, UTF8, UTF16_LE, UTF16_BE のいずれかとなる。 UTF16_LE と UTF16_BE は、文字列の先頭にBOMが付与されている場合のみ検出される。
sjistojis(s), sjistoeuc(s), euctosjis(s), euctojis(s), jistosjis(s), jistoeuc(s)
文字列 s を、異なるエンコーディングに変更する。
kanatohalf(ustr), kanatofull(ustr)
Unicode文字列 ustr に含まれるカタカナ・句読点等を、半角<->全角に変換する。
tohalf(ustr), tofull(ustr)
Unicode文字列 ustr に含まれるカタカナ・句読点等以外の、cp932に含まれる文字を、半角<->全角に変換する。
getnengo(y, m, d, letter=False)
y年m月d日の年号と年のタプルを返す。letter=Trueの場合は年号としてH/S/T/Mのいずれかを返す。
heiseitoyear(y), showatoyear(y), taishoyear(y), meijoyear(y)
平成、昭和、大正、明治の年から、西暦を返す。
wrap(ustr, maxcol)
Unicode文字列 ustr を、maxcol桁の文字列に分割する。ワードラップ・行頭禁則対応。