perl - 如何使用 perl 转换 base64 编码的文件?

标签 perl base64

有哪些方法可以使用 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/

相关文章:

perl - 如何检查 Unix 进程是否在 Perl 中运行?

Java在jsp中显示基本64字节数组

c# - 这个加密的 QueryString 有什么问题 - Base-64 字符数组的长度无效

java - Sparkjava : Load PNG as base64 from InputStream

javascript - 是否可以提取数据 :image of canvas element?

perl - 如何使用 Perl 从二进制文件中获取最后 16 个字节?

perl 在不复制的情况下获取函数返回的临时列表的引用?

linux - Apache2 运行 perl 脚本作为目录索引

perl - 如何将 Email::Mime 与 sendmail 结合使用

java - 如何使用 jsch 使用 base64 编码将文件传输到 sftp