Garminで位置情報を取得しようと思ったが、ファイル名が「ポイント_25-07-13.gpx」と半角カナが使われている。Perlで処理するには、半角を全角に変換する必要がある。それで、Windows版Perlの細道・けもの道を参照して、変換を行った。
- use Encode;
- use Encode::JP::H2Z;
- my $str_h=”ポイント”;
- Encode::from_to($str_h, “utf-8”, “euc-jp”);
- Encode::JP::H2Z::h2z(\$str_h);
- Encode::from_to($str_h, “euc-jp”, “utf-8”);
- print $str_h, “\n”;
- my $str_z=”アメダス”;
- Encode::from_to($str_z, “utf-8”, “euc-jp”);
- Encode::JP::H2Z::z2h(\$str_z);
- Encode::from_to($str_z, “euc-jp”, “utf-8”);
- print $str_z, “\n”;
スクリプトの説明
スクリプトは、utf-8で保存します。
2行目。Strawberry Perl (version 5.38.2)では、Encode::JP::H2Zがインストールされていなかったので、インストールしました。
4行目。Encode::JP::H2Z関数では、文字コードはeuc-jpで行われるので、euc-jpに変換する。
5行目。Encode::JP::H2Z関数では、h2zで、半角を全角にするを指定します。なお、変換する文字列を参照渡しにしているので、$str_hの前に\を付けている。⇒ 参照渡し
6行目。出力するためにutf-8に戻している。
10行目。z2hで、全角を半角にするを指定します。
参照サイト
・Windows版Perlの細道・けもの道