LogoopenSUSE Build Service > Projects
Sign Up | Log In


This module provides functions to encode and decode strings into and from
the base64 encoding specified in RFC 2045 - _MIME (Multipurpose Internet
Mail Extensions)_. The base64 encoding is designed to represent arbitrary
sequences of octets in a form that need not be humanly readable. A
65-character subset ([A-Za-z0-9+/=]) of US-ASCII is used, enabling 6 bits
to be represented per printable character.

The following primary functions are provided:

* encode_base64( $bytes )

* encode_base64( $bytes, $eol );

  Encode data by calling the encode_base64() function. The first argument
  is the byte string to encode. The second argument is the line-ending
  sequence to use. It is optional and defaults to "\n". The returned
  encoded string is broken into lines of no more than 76 characters each
  and it will end with $eol unless it is empty. Pass an empty string as
  second argument if you do not want the encoded string to be broken into

  The function will croak with "Wide character in subroutine entry" if
  $bytes contains characters with code above 255. The base64 encoding is
  only defined for single-byte characters. Use the Encode module to select
  the byte encoding you want.

* decode_base64( $str )

  Decode a base64 string by calling the decode_base64() function. This
  function takes a single argument which is the string to decode and
  returns the decoded data.

  Any character not part of the 65-character base64 subset is silently
  ignored. Characters occurring after a '=' padding character are never

If you prefer not to import these routines into your namespace, you can
call them as:

    use MIME::Base64 ();
    $encoded = MIME::Base64::encode($decoded);
    $decoded = MIME::Base64::decode($encoded);

Additional functions not exported by default:

* encode_base64url( $bytes )

* decode_base64url( $str )

  Encode and decode according to the base64 scheme for "URL applications"
  [1]. This is a variant of the base64 encoding which does not use padding,
  does not break the string into multiple lines and use the characters "-"
  and "_" instead of "+" and "/" to avoid using reserved URL characters.

* encoded_base64_length( $bytes )

* encoded_base64_length( $bytes, $eol )

  Returns the length that the encoded string would have without actually
  encoding it. This will return the same value as
  'length(encode_base64($bytes))', but should be more efficient.

* decoded_base64_length( $str )

  Returns the length that the decoded string would have without actually
  decoding it. This will return the same value as
  'length(decode_base64($str))', but should be more efficient.

Source Files

Filename Size Changed Actions
MIME-Base64-3.13.tar.gz 17.3 KB Download File
perl_update-MIME-Base64.spec 5.54 KB Download File

Comments for home:mgoppold:perl (0)

Login required, please login or signup in order to comment