使用 url 个安全字符进行 perl base64 编码
perl base64 encode with url safe characters
在 perl 脚本中,我使用 base64 对字符串进行编码,但我希望输出 URL 安全
Base64 包括像 / 或 + 这样的字符,它们在 URL
中转换
我怎样才能避免这种情况?
幸运的是,"GAAS" 已经为您完成了。该模块称为 MIME::Base64,如果您在 POD 页面的一半左右看到该模块,则该模块包括两个功能;
encode_base64url( $bytes )
和
decode_base64url( $str )
which "Encode and decode according to the base64 scheme for "URL applications”。这是 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;
在 perl 脚本中,我使用 base64 对字符串进行编码,但我希望输出 URL 安全 Base64 包括像 / 或 + 这样的字符,它们在 URL
中转换我怎样才能避免这种情况?
幸运的是,"GAAS" 已经为您完成了。该模块称为 MIME::Base64,如果您在 POD 页面的一半左右看到该模块,则该模块包括两个功能;
encode_base64url( $bytes )
和
decode_base64url( $str )
which "Encode and decode according to the base64 scheme for "URL applications”。这是 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;