0
$ perl -MMIME::Base64 -e 'print decode_base64("c3luX2Fja0AxNjMuY29t");'
syn_ack@163.com

$ perl -MMIME::Base64 -e 'print decode_base64("AHN5bl9hY2tAMTYzLmNvbQ");'
syn_ack@163.com

编码字符串不同,但解码结果相同,为什么?

4

2 回答 2

8

您的第二个字符串AHN5bl9hY2tAMTYzLmNvbQ 解码为

�syn_ack@163.com

您的终端软件可能不会打印第一个位置的异常字符。

于 2013-03-21T09:09:29.247 回答
1

与您所说的相反,它们并不相同:

$ perl -MMIME::Base64 -E'
   say
      decode_base64("c3luX2Fja0AxNjMuY29t") eq
      decode_base64("AHN5bl9hY2tAMTYzLmNvbQ") ?1:0'
0

那么它们是什么?

$ perl -MData::Dumper -MMIME::Base64 -e'
   $Data::Dumper::Useqq = 1;
   print Dumper(decode_base64("c3luX2Fja0AxNjMuY29t"))'
$VAR1 = "syn_ack\@163.com";

$ perl -MData::Dumper -MMIME::Base64 -e'
   $Data::Dumper::Useqq = 1;
   print Dumper(decode_base64("AHN5bl9hY2tAMTYzLmNvbQ"))'
$VAR1 = "\0syn_ack\@163.com";
于 2013-03-21T17:42:42.230 回答