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. PENTAX(ペンタックス)、デジタル一眼レフカメラ「K-x」 (2 PV)
  2. JavaScript::Bookmarklet (2 PV)
  3. 朝日新聞がCNET Japanの事業を継承 (2 PV)
  4. [将棋]竜王戦第七局(最終局)、広瀬章人八段が羽生善治竜王に勝ち初の竜王位獲得 #羽生九段 (2 PV)
  5. [将棋]竜王戦第4局で羽生善治棋聖が渡辺明竜王に勝ち「 #永世七冠 」に王手 (2 PV)
  6. PINMA MT5リアルフォワード #MT5 #ナンピンマーチン #EURUSD (2 PV)
  7. [将棋]第75期名人戦第2局はポナンザ流早繰り銀で攻めた佐藤天彦名人が稲葉陽八段に勝ち1勝1敗に (2 PV)
  8. 政府、日銀新総裁に経済学者で東京大学名誉教授の植田和男氏を起用 (2 PV)
  9. ニコニコブックマーク、ひっそりとサービス終了 (2 PV)
  10. Googleが新しいメールアプリ「Inbox」を招待制で公開 (2 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (71 PV)
  2. 2NN 2ちゃんねるニュース速報+ナビ (57 PV)
  3. 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (46 PV)
  4. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (26 PV)
  5. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (24 PV)
  6. Google News (グーグルニュース)日本版 (23 PV)
  7. [PR]noteで販売している自作EAの一覧 (22 PV)
  8. MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (19 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (18 PV)
  10. MT4向け無料ヘッジ(両建て)ツール(EA)「STOPPER FREE」 #自動売買 #FX (18 PV)

アクセス統計

ディレクトリ

関連サイト