use strict;
use warnings;
use MIME::Base64;
sub is_base64 {
my ($str) = @_;
# 移除可能存在的空格和换行符
$str =~ s/\s+//g;
# 检查字符串是否只包含Base64允许的字符
return 0 if $str =~ /[^A-Za-z0-9+\/=]/;
# 尝试解码字符串
my $decoded = eval { decode_base64($str) };
return 0 if $@;
# 编码解码后的字符串
my $encoded = encode_base64($decoded, '');
# 比较重新编码的字符串和原始字符串
return $encoded eq $str;
}
# 测试字符串
my $test_string = '你的Base64字符串';
print is_base64($test_string) ? "是Base64编码\n" : "不是Base64编码\n";