■Windows版Perlの細道・けもの道

■ナビゲータ

[南北館(最初のメニュー)]

  1. [Windows版Perlの細道・けもの道]
    1. [1.準備編]
    2. [2.基本編]
    3. [3.応用編]
      1. [3-1.固定長データとCSVデータとの変換]
      2. [3-2.重複データの処理]
      3. [3-3.フォルダ内の一括処理]
      4. [3-4.1つのファイルを複数のファイルに分割する]
      5. [3-5.文字コードの変換]
      6. [3-6.半角全角変換]
        1. [3-6-1.半角カタカナを全角カタカナに変換する(JPerl.exe利用)]
        2. [3-6-2.半角カタカナを全角カタカナに変換する(Encodeモジュール利用)]
        3. [3-6-3.半角カタカナを全角カタカナに変換する(Jcodeモジュール利用)]
        4. [3-6-4.半角文字を全角文字に変換する(Unicodeモジュール利用)]
        5. [3-6-5.全角カタカナを半角カタカナに変換する(JPerl.exe利用)]
        6. [3-6-6.全角カタカナを半角カタカナに変換する(Encodeモジュール利用)]
        7. [3-6-7.全角カタカナを半角カタカナに変換する(Jcodeモジュール利用)]
        8. [3-6-8.全角文字を半角文字に変換する(Unicodeモジュール利用)]
      7. [3-7.多次元配列の処理]
      8. [3-9.その他]
    4. [スクリプトと入力データのサンプル]
rubyではどう処理する?
同じことをrubyではこうしています。

3.応用編

3-6.半角全角変換

ワープロ専用機の時代には、全角文字とその半分の幅の半角文字がありましたが、パソコンに変わるようになって、いわゆる「半角」文字は欧文のプロポーショナルフォント(「MS P明朝」や「MS Pゴシック」など)に変わるようになりました。これにより、全角文字や半角文字という言葉は必ずしも適切ではなくなり、「1バイト文字」と「2バイト文字」などとも呼ばれることもあります。shift_jisではこの名称でもいいのですが、Unicodeの採用が増えてくるにつれて、これも適切とは言えなくなっています(Unicodeでは文字によって3バイトや4バイトになることがあります)。

そこで、必ずしも適切な名称ではありませんが、ここでは「全角文字」や「半角文字」といった名称で以下、説明していきます。

半角文字の中でも、半角の英数字には何の問題もないのですが、半角カタカナは文字化けの原因になったりしますので、本格的な処理を行う前に全角カタカナに変換しておくことがあります。具体的には、以下のような方法があります。

  1. JPerl.exeによる変換
  2. Encodeモジュールによる変換
  3. Unicodeモジュールによる変換
  4. Jcodeモジュールによる変換

このうち、4番目のJcodeモジュールはActivePerlでは通常のインストールには含まれていませんので、PPM(Perl Package Manager)というプログラムであらかじめインストールしておきます。PPMによるインストール方法については、[2-1-5.PPM(Perl Package Manager)によるモジュールのインストール]を参照してください。

以下、半角カタカナを全角カタカナに変換したり、逆に全角カタカナを半角カタカナに変換する方法を個別に説明していきます。

  1. [3-6-1.半角カタカナを全角カタカナに変換する(JPerl.exe利用)]
  2. JPerl.exeというプログラムを使って、半角カタカナを全角カタカナに変換するスクリプトについて解説します。

  3. [3-6-2.半角カタカナを全角カタカナに変換する(Encodeモジュール利用)]
  4. Encodeモジュールを使って、半角カタカナを全角カタカナに変換するスクリプトについて解説します。

  5. [3-6-3.半角カタカナを全角カタカナに変換する(Jcodeモジュール利用)]
  6. Jcodeモジュールを使って、半角カタカナを全角カタカナに変換するスクリプトについて解説します。

  7. [3-6-4.半角文字を全角文字に変換する(Unicodeモジュール利用)]
  8. Unicodeモジュールを使って、半角文字を全角文字に変換するスクリプトについて解説します。

  9. [3-6-5.全角カタカナを半角カタカナに変換する(JPerl.exe利用)]
  10. JPerl.exeというプログラムを使って、全角カタカナを半角カタカナに変換するスクリプトについて解説します。

  11. [3-6-6.全角カタカナを半角カタカナに変換する(Encodeモジュール利用)]
  12. Encodeモジュールを使って、全角カタカナを半角カタカナに変換するスクリプトについて解説します。

  13. [3-6-7.全角カタカナを半角カタカナに変換する(Jcodeモジュール利用)]
  14. Jcodeモジュールを使って、全角カタカナを半角カタカナに変換するスクリプトについて解説します。

  15. [3-6-8.全角文字を半角文字に変更する(Unicodeモジュール利用)]
  16. Unicodeモジュールを使って、全角文字を半角文字に変換するスクリプトについて解説します。




Copyright (c) 2011-2013 Mitsuo Minagawa, All rights reserved.