半角アルファベット・数字を全角に「すぐに」変換
2005-12-10-2
[Programming]
事情によりASCII英数字を全角にする処理が必要に。nkf V2.0 だと逆はできるんだけどなあ。まあツールを探すよりも早いだろうということで適当にその場しのぎプログラミング[2003-12-09-3](ってワンライナー…)。あとで緊急時にコピペできるようにここに書いておく。
UTF-8への変換のコードはなんかもっとすっきりできそうだけど、それは本来の目的じゃないからいいや。
# 半角アルファベット・数字を全角(EUC-JP)にする
s/([0-9A-Za-z])/"\xa3".chr(0x80+ord($1))/ge;
# 半角アルファベット・数字を全角(UTF-8)にする
s/([0-9A-Z])|([a-z])/(defined $1) ? "\xef\xbc".chr(0x60+ord($1)) :
"\xef\xbd".chr(0x20+ord($2))/ge;
perl -pe 's/([0-9A-Za-z])/"\xa3".chr(0x80+ord($1))/ge'
UTF-8への変換のコードはなんかもっとすっきりできそうだけど、それは本来の目的じゃないからいいや。
この記事に言及しているこのブログ内の記事
