Data.ByteString.Base64.URL

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

Portability | GHC
Stability | experimental
Maintainer | deian@cs.stanford.edu
Safe Haskell | Trustworthy

Data.ByteString.Base64.URL

Description

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

Synopsis

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

# Documentation

encode :: ByteString -> ByteString

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

decode :: ByteString -> Either String ByteString

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

decodeLenient :: ByteString -> ByteString

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.

joinWith

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"