アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下、Perl5.8でJcodeモジュールを使った場合とEncodeモジュールを使った場合の違いについて、知りたいです。
※そもそもこのモジュールは同時に使ったらだめなのでしょうか?

use strict;
use utf8;
use Jcode;
use Encode;

my $dat1 = "あイ卯(1)Iⅰ";
Jcode::convert(\$dat1, "utf8");

my $dat2 = "あイ卯(1)Iⅰ";
$dat2 = Encode::encode("utf8", $dat2);

文字コード変換の正しい使い方が知りたいです。

A 回答 (1件)

Jcode.pmの2.0以降では、Encodeがある環境(つまり本体のバージョンが


5.8以降)の場合には Jcode は Encodeのラッパーとしてインストールされます。
つまり変換そのものはEncodeがやっていることになります。

ということで基本的に違いはありません。
混在しても悪影響はありません。

ただし、
> $dat2 = Encode::encode("utf8", $dat2);
Encode の encode/decode は単なるコード変換だけではないので、
コード変換のみが目的なら from_to を使ったほうが良いです。

> 文字コード変換の正しい使い方が知りたいです。
正しいとか間違っているとかはないと思いますが、使えるPerl本体の
バージョンが5.8以降ならばEncode.pmは標準で入っているはずなので、
Encodeを使っておけばよいでしょう。
そうではなくて、、5.6とかさらにそれより前のものがある環境でも使う
ようなスクリプトなら、Jcode.pmを使わざるを得ないと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!