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

Copyright(c) 2010 Bryan O'Sullivan
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellTrustworthy
LanguageHaskell98

Data.ByteString.Base64

Description

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

Synopsis

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", "rn" 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.

joinWith Source #

Arguments

:: ByteString

String to intersperse and end with

-> Int

Interval at which to intersperse, in bytes

-> ByteString

String to transform

-> ByteString 

Efficiently intersperse a terminator string into another at regular intervals, and terminate the input with it.

Examples:

joinWith "|" 2 "----" = "--|--|"
joinWith "\r\n" 3 "foobarbaz" = "foo\r\nbar\r\nbaz\r\n"
joinWith "x" 3 "fo" = "fox"