perl base64使用url安全字符编码

时间:2016-03-18 08:22:38

标签: perl base64

在perl脚本中我使用base64来编码字符串,但我希望输出是URL安全的 Base64包含像/或+这样的字符,它们在URL中转换

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:4)

幸运的是,“GAAS”已经为您完成了。该模块名为MIME::Base64,如果您看到POD页面的一半,该模块包含两个功能;

encode_base64url( $bytes )

decode_base64url( $str )

其中“根据base64方案为”URL应用程序“进行编码和解码。这是base64编码的一种变体,它不使用填充,不会将字符串分成多行并使用字符” - “和”_“而不是”+“和”/“以避免使用保留的URL字符。”

默认情况下不导出这些功能 - 这意味着您在使用模块时需要询问它们。例如:

use MIME::Base64 qw(encode_base64url, decode_base64url);
my $str = "Hello World";
my $b64_url = encode_base64url($str);
print $b64_url, "\n";
print "Original string: ", decode_base64url($b64_url);
exit 0;