MIME::Base64 - Encoding and decoding Base64 ASCII strings. A Perl6 implementation of MIME::Base64
Implements encoding and decoding to and from base64.
Version 1.1 and later works on latest Rakudo based on nom. For earlier versions of Rakudo based on ng, please use v1.0 (see tag v1.0-ng).
use MIME::Base64; my $encoded = MIME::Base64.encode-str("xyzzy‽"); my $decoded = MIME::Base64.decode-str($encoded);
use MIME::Base64; my $encoded = MIME::Base64.encode($blob); my $decoded-buf = MIME::Base64.decode($encoded);
Creates a new MIME::Base64 object that will use a specific backend, or the current default backend if not specified.
Note that all of the below methods can be called on MIME::Base64 directly.
is only required if you want to encode using two different backends at the same
When called on an object, sets the backend for that object only. Otherwise, sets the default backend.
When called on an object, returns the currently used backend. Otherwise, returns the default backend.
Encodeѕ binary data
$data in base64 format.
By default, the output is wrapped every 76 characters. If
:$oneline is set,
wrapping will be disabled.
Decodes base64 encoded data into a binary buffer.
$string into base64, assuming utf8 encoding.
$encoded into a string, assuming utf8 encoding.
Calls out to parrot's base64 library to encode/decode. Selected by default when running rakudo on top of parrot.
Pure Perl 6 implementation of base64 encoding. Selected by default when no other backends can be used.
Precompilation on parrot currently breaks this module - conditional require's or use's seem to break module loading. If you are running the parrot backend exclusively and need this module to be precompiled (like Rakudo Star, for example), please use branch precompile-fix for now. Otherwise, you can use branch precompile-fix-pponly.
Use these files at your risk and without warranty. This module may be used under the terms of the Artistic License 2.0.
Written by Adrian White.