有哪些方法可以使用 Perl 翻译 base64 编码的文件?
我想查看和编辑文件。
$ file base64result
base64result: XML document
$ls -l base64result
-rw-r--r-- 1 dpadmin appadmin 52K Oct 28 12:57 base64result
这是我到目前为止尝试过的,但没有奏效:
#!/bin/perl
###################################################
# decode_base64.pl:
###################################################
use strict;
use MIME::Base64 qw( decode_base64 );
open INFILE, '<', $ARGV[0];
open OUTFILE, '>', $ARGV[1];
binmode OUTFILE;
my $buf;
while ( $buf = <INFILE> ) {
print OUTFILE decode_base64($buf);
}
close OUTFILE;
close INFILE;
输出:
$cat base64output
Æioz»"¢z{Äž÷¥¢—±šYìz{
最佳答案
您的代码是正确的(尽管我在下面对其进行了改进),并且您没有错误的事实意味着该文件是有效的 base64。你得到了是有的。
$ cat decode_base64.pl
#!/usr/bin/perl
use strict;
use warnings;
use MIME::Base64 qw( decode_base64 );
binmode STDOUT;
while ( my $buf = <> ) {
print decode_base64($buf);
}
$ echo 'Hello, World!' | base64
SGVsbG8sIFdvcmxkIQo=
$ echo 'Hello, World!' | base64 | decode_base64.pl
Hello, World!
如果你期待不同的东西,那么你的期望是错误的。
如果您想获得不同的东西,则需要更改您提供的数据。
关于perl - 如何使用 perl 转换 base64 编码的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19658314/