Encoding and decoding Base64 ASCII strings. A Perl6 implementation of MIME::Base64.
Branch: master
Clone or download
Pull request Compare This branch is 47 commits ahead of moritz:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/MIME
t
.gitignore
.travis.yml Update travis configuration Sep 21, 2017
LICENSE
META6.json Bump Module version 1.2.1 Sep 21, 2017
README.md Remove parrot related items Apr 9, 2015

README.md

MIME::Base64

Name

MIME::Base64 - Encoding and decoding Base64 ASCII strings. A Perl6 implementation of MIME::Base64

Description

Implements encoding and decoding to and from base64.

Status

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).

Example Usage

use MIME::Base64;

my $encoded = MIME::Base64.encode-str("xyzzy‽");
my $decoded = MIME::Base64.decode-str($encoded);

or

use MIME::Base64;

my $encoded     = MIME::Base64.encode($blob);
my $decoded-buf = MIME::Base64.decode($encoded);

Methods

encode(Blob $data, :$oneline --> Str)

Encodeѕ binary data $data in base64 format.

By default, the output is wrapped every 76 characters. If :$oneline is set, wrapping will be disabled.

decode(Str $encoded --> Buf)

Decodes base64 encoded data into a binary buffer.

encode-str(Str $string, :$oneline --> Str)

Encodes $string into base64, assuming utf8 encoding.

(Ιnternally calls .encode($string.encode('utf8')) )

decode-str(Str $encoded --> Str)

Decodes $encoded into a string, assuming utf8 encoding.

(Internally calls .decode($encoded).decode('utf8') )

Compatibility Methods

encode_base64(Str $string --> Str)

Calls .encode-str($string)

decode_base64(Str $encoded --> Str)

Calls .decode-str($encoded)

MIME::Base64::Perl

Pure Perl 6 implementation of base64 encoding.

Known Issues

The previous precompilation issue has been fixed. The master branch should now be usable for all backends.

LICENSE and COPYRIGHT

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.