base64-bytestring-1.2.1.0: Fast base64 encoding and decoding for ByteStrings

Copyright | (c) 2010 Bryan O'Sullivan
License | BSD-style
Maintainer | Emily Pillmore <emilypi@cohomolo.gy>, Herbert Valerio Riedel <hvr@gnu.org>, Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Stability | experimental
Portability | GHC
Safe Haskell | Trustworthy
Language | Haskell2010

Data.ByteString.Base64

Description

Fast and efficient encoding and decoding of base64-encoded strings.

Since: 0.1.0.0

Synopsis

- encode :: ByteString -> ByteString
- decode :: ByteString -> Either String ByteString
- decodeLenient :: ByteString -> ByteString

# Documentation

encode :: ByteString -> ByteString Source #

Encode a string into base64 form. The result will always be a multiple of 4 bytes in length.

decode :: ByteString -> Either String ByteString Source #

Decode a base64-encoded string. This function strictly follows the specification in RFC 4648.

(Note: this means that even `"\n"` and `"\r\n"` as line breaks are rejected rather than ignored. If you are using this in the context of a standard that overrules RFC 4648 such as HTTP multipart mime bodies, consider using `decodeLenient`.)

decodeLenient :: ByteString -> ByteString Source #

Decode a base64-encoded string. This function is lenient in following the specification from RFC 4648, and will not generate parse errors no matter how poor its input.