base-encoding-0.1.0.0: Binary-to-text encodings (e.g. base64)

Safe HaskellTrustworthy
LanguageHaskell2010

Codec.Base64

Description

This module provides access to the "base64" binary-to-text encoding as defined by RFC 4648.

This module is intended to be imported qualified, e.g.

import qualified Codec.Base64 as B64

If you want to explictly specify which Encode and Decode typeclass instance is used, you can use plain Haskell2010 type-signature annotations, e.g.

>>> (B64.encode :: ByteString -> Text) "\x00\x00"
"AAA="
>>> (B64.decode :: Text -> Either String ShortByteString) "NDoyMA=="
Right "4:20"

Alternatively, starting with GHC 8.0.1, you can also use the TypeApplications language extension:

>>> B64.encode @ShortByteString @Text "\xFF\239"
"/+8="
>>> B64.decode @Text @ShortByteString "/+8="
Right "\255\239"

Since: 0.1.0.0

Synopsis

Documentation

class Encode bin txt where Source #

Typeclass representing types for which a binary-to-text base64 encoding is defined

Minimal complete definition

encode

Methods

encode :: bin -> txt Source #

Encode binary data using base64 text encoding

Instances

Encode ShortByteString ShortByteString Source # 
Encode ShortByteString ByteString Source # 
Encode ShortByteString ByteString Source # 
Encode ShortByteString Builder Source # 
Encode ShortByteString Builder Source # 
Encode ShortByteString Text Source # 
Encode ShortByteString Text Source # 
Encode ByteString ShortByteString Source # 
Encode ByteString ByteString Source # 
Encode ByteString ByteString Source # 
Encode ByteString Builder Source # 
Encode ByteString Builder Source # 
Encode ByteString Text Source # 
Encode ByteString Text Source # 
Encode ByteString ShortByteString Source # 
Encode ByteString ByteString Source # 
Encode ByteString ByteString Source # 
Encode ByteString Builder Source # 
Encode ByteString Builder Source # 
Encode ByteString Text Source # 
Encode ByteString Text Source # 
Encode Builder ShortByteString Source # 
Encode Builder ByteString Source # 
Encode Builder ByteString Source # 
Encode Builder Builder Source # 
Encode Builder Builder Source # 
Encode Builder Text Source # 

Methods

encode :: Builder -> Text Source #

Encode Builder Text Source # 

Methods

encode :: Builder -> Text Source #

class Decode txt bin where Source #

Typeclass representing types for which a text-to-binary base64 decoding is defined

Minimal complete definition

decode

Methods

decode :: txt -> Either String bin Source #

Decode binary data encoded textually as base64

Instances

Decode ShortByteString ShortByteString Source # 
Decode ShortByteString ByteString Source # 
Decode ShortByteString ByteString Source # 
Decode ShortByteString Builder Source # 
Decode ByteString ShortByteString Source # 
Decode ByteString ByteString Source # 
Decode ByteString ByteString Source # 
Decode ByteString Builder Source # 
Decode ByteString ShortByteString Source # 
Decode ByteString ByteString Source # 
Decode ByteString ByteString Source # 
Decode ByteString Builder Source # 
Decode Builder ShortByteString Source # 
Decode Builder ByteString Source # 
Decode Builder ByteString Source # 
Decode Builder Builder Source # 
Decode Builder ShortByteString Source # 
Decode Builder ByteString Source # 
Decode Builder ByteString Source # 
Decode Builder Builder Source # 
Decode Text ShortByteString Source # 
Decode Text ByteString Source # 
Decode Text ByteString Source # 
Decode Text Builder Source # 
Decode Text ShortByteString Source # 
Decode Text ByteString Source # 
Decode Text ByteString Source # 
Decode Text Builder Source #