読者です 読者をやめる 読者になる 読者になる

試される大地から

furaiboが送る技術ブログ。プログラミングのTipsなど書いていきます。

機種依存文字変換用Rubyモジュール


需要があるかわかりませんが、機種依存文字を通常の文字列に変換するRuby用のモジュールを書いてみました。



ソースコードは以下の通りです。

module ConvertChar

    # 文字列中の環境依存文字を置換する関数
	def convert_invalid_char(text)

        # 環境依存文字のハッシュ
        char_hash = {

            '' => '1',
            '' => '2',
            '' => '3',
            '' => '4',
            '' => '5',
            '' => '6',
            '' => '7',
            '' => '8',
            '' => '9',
            '' => '10', 
            '' => '11',
            '' => '12',
            '' => '13',
            '' => '14',
            '' => '15',
            '' => '16',
            '' => '17',
            '' => '18',
            '' => '19',
            '' => '20',

            '' => 'i',
            '' => 'ii',
            '' => 'iii',
            '' => 'iv',
            '' => 'v',
            '' => 'vi',
            '' => 'vii',
            '' => 'viii',
            '' => 'ix',
            '' => 'x',

            '' => 'ミリ',
            '' => 'キロ',
            '' => 'センチ',
            '' => 'メートル',
            '' => 'グラム',
            '' => 'トン',
            '' => 'アール',
            '' => 'ヘクタール',
            '' => 'リットル',
            '' => 'ワット',
            '' => 'カロリー',
            '' => 'ドル',
            '' => 'セント',
            '' => 'パーセント',
            '' => 'ミリバール',
            '' => 'ページ',

            '' => 'mm',
            '' => 'cm',
            '' => 'km',
            '' => 'mg',
            '' => 'kg',
            '' => 'cc',
            '' => 'm2',

            '' => 'K.K.',
            '' => 'TEL',
            '' => 'No.',

            '' => '(上)',
            '' => '(中)',
            '' => '(下)',
            '' => '(左)',
            '' => '(右)',

            '' => '平成',
            '' => '昭和',
            '' => '大正',
            '' => '明治',

            '' => '(株)',
            '' => '(有)',
            '' => '(代)'
        };

        # 環境依存文字を置換する
        char_hash.each do |key, value|
            text.gsub!(key, value)
        end

        # 戻り値
        text
    end

    module_function :convert_invalid_char

end

全部の環境依存文字に対応するのは面倒なので、手を抜いてます。



参考にしたページは以下の通り。

PHP UTF-8 機種依存文字の置換 | HAPPY*TRAP

機種依存文字とUnicode - WebStudio