base64-bytestring-0.1.1.3: Fast base64 encoding and deconding for ByteStrings

PortabilityGHC
Stabilityexperimental
Maintainerdeian@cs.stanford.edu
Safe HaskellTrustworthy

Data.ByteString.Base64.URL

Description

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

Synopsis

Documentation

encode :: ByteString -> ByteStringSource

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

decode :: ByteString -> Either String ByteStringSource

Decode a base64url-encoded string. This function strictly follows the specification in RFC 4648, http://www.apps.ietf.org/rfc/rfc4648.html.

decodeLenient :: ByteString -> ByteStringSource

Decode a base64url-encoded string. This function is lenient in following the specification from RFC 4648, http://www.apps.ietf.org/rfc/rfc4648.html, and will not generate parse errors no matter how poor its input.

joinWithSource

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"