2005 Jan 30th

zenhan.py

アルファベット・記号・数字・カタカナの全角・半角変換をする

以前、全角半角の変換をするクラスを作ったのですが、いちいちオブジェクトを作ってってのもなんだしということで、関数として書き直しました。おいおいクラスの方も同様に書き直そうかなと思いますが。

使い方については以下の通りです。また、ソースはこんな感じです。

追記: 2007/Jan/6 1:45
blogSetomits : zenhan.py 0.4で新しいモノについて言及しています。
インポートできる適当なところにzenhan.pyを置くなり、PythonPathを変更するなりしててインポートします。
import zenhan

全角を半角に変換するにはz2h()という関数を、半角を全角に変換するにはh2z()という関数を用います。どちらの関数もユニコード文字列を第1引数として与え、これは必須となります。第2引数として変換する対象となるものの種類を与えます。種類としてはASCII(アルファベット・記号)、DIGIT(アラビア数字)、KANA(カタカナ)の3つを用意しています。何も与えられない場合はこれら3つとも対象となります。複数指定する場合は「|」で並べます。また、返値はユニコード文字列となります。

使い方の例を記すと、
>>> org = unicode("abcDEF123456アガサダナバビプペ", "euc-jp") >>> print zenhan.z2h(org, zenhan.ASCII).encode("euc-jp") abcDEF123456アガサダナバビプペ >>> print zenhan.z2h(org, zenhan.ASCII|zenhan.KANA).encode("euc-jp") abcDEF123456アガサダナバビプペ >>> print zenhan.h2z(org).encode("euc-jp") abcDEF123456アガサダナバビプペ >>> print zenhan.h2z(org, zenhan.DIGIT).encode("euc-jp") abcDEF123456アガサダナバビプペ
という感じです。
Posted by setomits at 06:48 | Comments: 5
Re: zenhan.py
バグを発見したのでソースの修正しました。
バグの内容は、「全角文字/半角文字それぞれの文字集合の最後の1文字を、対応表に加えていなかった」ということでした。
Posted by setomits at 09:24 on 2005 Feb 2nd
Re: zenhan.py
今度は忘れてた、というか認識から抜けてたの。
全角カナに「。(句点)」「、(読点)」「・(中黒)」「゛(濁点)」「゜(半濁点)」「「(カギかっこ開き)」「」(カギかっこ閉じ)」「ー(長音記号)」を追加。
それぞれに対応するのを半角カナにも追加。
Posted by setomits at 06:02 on 2005 Feb 3rd
Re: zenhan.py
全角カタカナに「ヴ」を、半角カタカナに「ヴ」を追加。
忘れてたわけではないのですが、手元の環境(Emacs.app)で「ヴ」が1文字で表示できなかったのであきらめていたのでした。
Posted by setomits at 10:59 on 2005 Feb 3rd
Re: zenhan.py
ご指摘ありがとうございます。
なるべく早く調べてから明記するようにします。
Posted by setomits at 04:36 on 2008 Mar 4th
Re: zenhan.py
是非、ライセンス明記を~
Posted by 通りすがり at 04:50 on 2008 Mar 4th
Leave a comment
Required fields are marked with *
search
calendar
Nov 2009
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
2930     
archives
photos on flickr
www.flickr.com
bookmarks on delicious