24 lines
		
	
	
	
		
			513 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			513 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- Simple Base64 access
 | 
						|
 -
 | 
						|
 - Copyright 2011 Joey Hess <joey@kitenet.net>
 | 
						|
 -
 | 
						|
 - License: BSD-2-clause
 | 
						|
 -}
 | 
						|
 | 
						|
module Utility.Base64 (toB64, fromB64Maybe, fromB64) where
 | 
						|
 | 
						|
import "dataenc" Codec.Binary.Base64
 | 
						|
import Data.Bits.Utils
 | 
						|
import Control.Applicative
 | 
						|
import Data.Maybe
 | 
						|
 | 
						|
toB64 :: String -> String		
 | 
						|
toB64 = encode . s2w8
 | 
						|
 | 
						|
fromB64Maybe :: String -> Maybe String
 | 
						|
fromB64Maybe s = w82s <$> decode s
 | 
						|
 | 
						|
fromB64 :: String -> String
 | 
						|
fromB64 = fromMaybe bad . fromB64Maybe
 | 
						|
  where
 | 
						|
	bad = error "bad base64 encoded data"
 |