Shift-jis形式のファイルでperlのエンコードプログラムを作っています。


#!/usr/bin/perl
$fuji = "フジテレビ";
$asahi = "テレビ朝日";

$fuji =~ s/([^\w ])/'%' . unpack('H2', $fuji)/eg;
$asahi =~ s/([^\w ])/'%' . unpack('H2', $asahi)/eg;

print $fuji;
print $asahi;

エンコードされるのですが、エンコードされた結果をデコードするとフジテレビは「フジテャビ」、テレビ朝日は「テャビャャ」となってしまいます。正しくデコードするためにはどこを修正すればよろしいでしょうか?解説URLの紹介ではなく、上記プログラムについて添削していただける方のみご回答ください。

回答の条件
  • 1人1回まで
  • 登録:2007/05/13 11:37:12
  • 終了:2007/05/20 11:40:03

回答(1件)

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582007/05/13 12:42:11

ポイント60pt
$fuji =~ s/([^\w ])/'%' . unpack('H2', $1)/eg ;
$asahi =~ s/([^\w ])/'%' . unpack('H2', $1)/eg ;

これで試してみてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません