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. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3 PV)
  2. 将棋ウォーズ最強ボット「PonaInfinity(ポナインフィニティ)」が六段にハメ手で全駒される (2 PV)
  3. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (2 PV)
  4. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (2 PV)
  5. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (1 PV)
  6. ウェブページを1回だけリロード(再表示)する方法 (1 PV)
  7. [将棋]第75期名人戦七番勝負、第1局は▲佐藤天彦名人VS△稲葉陽八段で横歩取り #shogi #meijinsen (1 PV)
  8. Perlで全角半角変換を行う方法 (1 PV)
  9. グーグルニュース(Google News)日本版が表示できるURL (1 PV)
  10. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1777 PV)
  2. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (164 PV)
  3. グーグルニュース(Google News)日本版が表示できるURL (157 PV)
  4. Google News (グーグルニュース)日本版 (150 PV)
  5. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (149 PV)
  6. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (148 PV)
  7. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (145 PV)
  8. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (119 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (103 PV)
  10. Google Finance(グーグルファイナンス)日本版が表示されるようになってますが・・・ (76 PV)

アクセス統計

ディレクトリ

関連サイト