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. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (9 PV)
  2. 完全無料のナンピンマーチンEA「NPNM_v3」向けサンプルセットファイル (3 PV)
  3. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  4. SQLのSELECT文でn件目からm件目までのレコードを取得する方法(Oracle、SQL Server、MySQL、PostgreSQL) (1 PV)
  5. MIPS Technologies(ミップス・テクノロジーズ) (1 PV)
  6. ようつべ (YouTube) 動画のダウンロードと保存 (1 PV)
  7. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (1 PV)
  8. ソーシャルゲーム (1 PV)
  9. #美人秘書 をものにしたいならダイナース、楽天カードやビックカメラSuicaカードはダメダメ (1 PV)
  10. 有名まとめサイトの管理人「JIN」さんが株、FXで約-8000万の大損失 #もうダメだ、終わった (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2533 PV)
  2. 完全無料のナンピンマーチンEA「NPNM_v3」向けサンプルセットファイル (482 PV)
  3. Google News (グーグルニュース)日本版 (481 PV)
  4. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (223 PV)
  5. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (156 PV)
  6. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (112 PV)
  7. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (112 PV)
  8. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(EA)「PositionKeeper MT5」をバージョンアップ(Ver 1.02) #FX (102 PV)
  9. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (101 PV)
  10. 高機能EA提供サービス「EA Cluster」 #無料 #EA #海外FX #自動売買 #スキャル #ナンピンマーチン #両建て (93 PV)

アクセス統計

ディレクトリ

関連サイト