Ticket #37603

base64エンコーディング

Open Date: 2017-10-26 10:47 Last Update: 2017-12-24 22:27

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

Perlから、NKF.pmを利用しています。 日本語のメール題名を、NKFでJISヘ変換後、-MBでbase64エンコーディングしていますが、 NKF2.13/2.14で文字化けします。 NKF2.00では文字化けしません。 NKFの不具合でしょうか。それとも使い方の問題でしょうか。 ワンライナーで確認すると、バージョンによって結果が違います。

【JISの「ABCDEFGあいうえお」を、Base64エンコードしてみる】 JISで「ABCDEFGあいうえお」は、16進数では、「414243444546471B24422422242424262428242A1B2842」

$ perl -MMIME::Base64 -le '$aa = encode_base64(pack("H*", "414243444546471B24422422242424262428242A1B2842")); print ("MIME ", MIME::Base64->VERSION, ": ", "*** $aa ***");' MIME 3.08: *** QUJDREVGRxskQiQiJCQkJiQoJCobKEI=

***

$ perl -MMIME::Base64 -le '$aa = encode_base64(pack("H*", "414243444546471B24422422242424262428242A1B2842")); print ("MIME ", MIME::Base64->VERSION, ": ", "*** $aa ***");' MIME 3.13: *** QUJDREVGRxskQiQiJCQkJiQoJCobKEI=

***

$ perl -MNKF -le '$aa = nkf("-MB", pack("H*", "414243444546471B24422422242424262428242A1B2842")); print ("NKF ", NKF->VERSION, ": ", "*** $aa ***");' NKF 2.00: *** QUJDREVGRxskQiQiJCQkJiQoJCobKEI= ***

$ perl -MNKF -le '$aa = nkf("-MB", pack("H*", "414243444546471B24422422242424262428242A1B2842")); print ("NKF ", NKF->VERSION, ": ", "*** $aa ***");' NKF 2.14: *** QUJDREVGR6SipKSkpqSopKo= ***

Ticket History (3/5 Histories)

2017-10-26 10:47 Updated by: tagaaya
  • New Ticket "base64エンコーディング" created
2017-11-08 23:17 Updated by: efialtes
Comment

使い方の問題だと思います。直接の原因は 2.14 で既定の出力コードがこの場合に EUC-JP に変わったためですけど、出力に何かのエンコーディングを期待しているなら、特に出力は明示指定しなければダメだと思います。jMB とすれば問題なく動くのでは。

2017-12-20 13:23 Updated by: tagaaya
  • Details Updated
Comment

-jMBで治りました。 有り難う御座います。担当者が付かなかったこともあり、 コメントが入っているの、気づきませんでした。 -MBは、メール送信の際、件名などJISへ変換後に使っています。 同じモジュールなら、直前に変換した文字コードなど覚えていられるので、 少し気を利かせてくれたらなぁ、と思います。

2017-12-24 22:27 Updated by: naruse
Comment

efialtesさん、コメントありがとうございます。

何かを覚えて気を利かせるのって、再現性の低いバグを産みがちなのでちょと慎重なのですよね……。

2017-12-24 22:27 Updated by: naruse
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login