MIME :: Base64 :: decode_base64错误的字符

时间:2016-08-08 15:10:34

标签: perl encoding base64

使用perl MIME :: Base64 :: decode_base64

我遇到了一些麻烦

这是我的代码:

#!/usr/bin/perl
use MIME::Base64;
$string_to_decrypt="lVvfrx23jX7vX3HghyJGxo4oivqBIg";
$content=MIME::Base64::decode_base64($string_to_decrypt);
open(WRITE,">/home/laurent/decrypted.txt");
print WRITE $content;
close(WRITE);
exit;

使用在线解码器(如https://www.base64decode.org/)结果应为:

[߯·~ï_qà"FÆ(ú"

但是在我的文件中,我得到了:

<95>[߯^]·<8d>~ï_qà<87>"FÆ<8e>(<8a>ú<81>"

我不知道如何摆脱:

 <95>, ^], <8d>,<87> ....

由于 劳伦

1 个答案:

答案 0 :(得分:0)

这显然不是文本,所以当作为文本打印时,它不能正确呈现也就不足为奇了。 base64decode.org实际上产生与decode_base64相同的正确结果,这是以下字节:

95.5B.DF.AF.1D.B7.8D.7E.EF.5F.71.E0.87.22.46.C6.8E.28.8A.FA.81.22

您可以使用以下任一方法删除您识别的字符,但这绝对是错误的。

$content =~ tr/\x1D\x87\x8D\x95//d;
  -or-
$content =~ s/[\x1D\x87\x8D\x95]//g;