Erlang -- base64

# base64

###
Module

base64

###
Module Summary

Provides base64 encode and decode, see RFC 2045.

###
Description

Provides base64 encode and decode, see RFC 2045.

###
Data Types

####
base64_alphabet() = 65..90 | 97..122 | 48..57 | 43 | 47 | 61

Base 64 Encoding alphabet, see RFC 4648.

####
base64_string() = [base64_alphabet()]

Base 64 encoded string.

####
base64_binary() = binary()

Base 64 encoded binary.

####
byte_string() = [byte()]

Arbitrary sequences of octets.

###
Exports

####
decode(Base64) -> Data

####
decode_to_string(Base64) -> DataString

####
mime_decode(Base64) -> Data

####
mime_decode_to_string(Base64) -> DataString

### Types

Base64 = base64_string() | base64_binary()
Data = binary()
DataString = byte_string()

Decodes a base64-encoded string to plain ASCII. See RFC 4648.

mime_decode/1 and mime_decode_to_string/1 strip away illegal characters, while decode/1 and decode_to_string/1 only strip away whitespace characters.

####
encode(Data) -> Base64

####
encode_to_string(Data) -> Base64String

### Types

Data = byte_string() | binary()
Base64 = base64_binary()
Base64String = base64_string()

Encodes a plain ASCII string into base64. The result is 33% larger than the data.