Perlで全角半角変換を行う方法

日本語の文章では半角の英数字と全角の英数字、また、半角のカタカナと全角のカタカナが混在していることがよくあります。意味は半角でも全角でも同じですので、コンピュータで処理する場合はどちらかに統一してから処理したいところです。

Perlで全角半角変換を行う主な方法としては、

・標準モジュールのEncode.pmを使う
・Unicode::Japaneseモジュールを使う
・全角半角の変換に特化したLingua::JA::Regular::Unicodeモジュールを使う

などがあります。

Encode.pmは標準モジュールですので比較的使いやすいですが、euc-jp以外の文字エンコードの場合はeuc-jpに変換する必要があります。

Unicode::Japaneseモジュールは、現状では一番使いやすいと思われますが、標準モジュールではないのでレンタルサーバーで動かすWebアプリケーションではちょっと使いにくい面もあります。

Lingua::JA::Regular::Unicodeは、全角半角の変換に特化したモジュールですので非常に軽量ですが、全角半角の変換以外の処理を考えるとuse utf8;しないと動作しないというのはかなり面倒です。

これらのモジュールを使った全角半角の変換のコードについては、以下のブログ記事などに記述されています。

Encodeで全角半角変換
Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング
perl - で全角半角変換をモダンに行う

しかし、いずれの方法もそれぞれ若干使いにくい面があるので、モジュールを使わずに自力で全角半角変換を行う方法を考えたいと思います。

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
技術評論社 著者:矢野 啓介


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2247] Posted by kagahiro at 2012/12/14 23:52:52
オープン | 0 point | Link (4) | Trackback (0) | Comment (0)

キーワード

Perl 全角 半角 変換 モジュール 日本語 

ジャパンのホームページ


Perlで全角半角変換を行う方法 関連リンク

[Perl]UTF-8でエンコードされた文字列の部分文字列を取り出すコード
Perlのsubstr関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。それでは不都合なことも多いので、半角英数も全角文字も1文字と...
[Perl]UTF-8でエンコードされた文字の文字コードを表示するプログラム
Unicodeの文字コード表によるとUTF-8の半角英数、全角英数、半角カナ、全角カナの文字コードは以下のようになるようです。英数字の場合は半角と全角の文字がそれぞれ対応していますが、カタカナの場合は半角と全角で...
[Perl]UTF-8でエンコードされた英数字の全角半角変換を行うコード
まずカタカナより比較的プログラミングしやすそうな英数字の全角半角変換から作成します。半角から全角への変換の処理手順は、・半角英数字の場合は、同じ全角英数字に置き換えて戻り値として返す文字列に連結・それ...
Unicodeエスケープシーケンス
Unicodeエスケープシーケンスは、\uXXXX(Xは十六進)の6バイトの形でUnicodeの1文字が表される文字の表記方法で、例えば、「あ」という文字はUnicodeエスケープシーケンスで「\u3042」と表記される。Unicode エスケー...

Perlで全角半角変換を行う方法 トラックバック

トラックバックURL :


Perlで全角半角変換を行う方法へのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前の投稿      次の投稿 >

アクセスランキング

今日のアクセスランキング TOP 10

  1. Google News (グーグルニュース)日本版 (143 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (135 PV)
  3. グーグルニュース(Google News)日本版が表示できるURL (17 PV)
  4. 将棋倶楽部24がフィッシャールール(早指し3)導入 (13 PV)
  5. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (13 PV)
  6. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (10 PV)
  7. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (8 PV)
  8. [gcc]iconvで文字エンコードを変換するサンプルプログラム (7 PV)
  9. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (7 PV)
  10. 大阪北部でM6.1(最大震度6弱)の地震、死者3人、負傷者240人以上 (6 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1927 PV)
  2. Google News (グーグルニュース)日本版 (558 PV)
  3. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (347 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (343 PV)
  5. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (313 PV)
  6. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (186 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (129 PV)
  8. グーグルニュース(Google News)日本版が表示できるURL (124 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (121 PV)
  10. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (116 PV)

アクセス統計

ディレクトリ

関連サイト