diff options
-rw-r--r-- | src/Data/ByteString/Base32.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Data/ByteString/Base32.hs b/src/Data/ByteString/Base32.hs index 28481a3..89d6e2c 100644 --- a/src/Data/ByteString/Base32.hs +++ b/src/Data/ByteString/Base32.hs | |||
@@ -14,7 +14,8 @@ | |||
14 | -- | 14 | -- |
15 | {-# LANGUAGE BangPatterns #-} | 15 | {-# LANGUAGE BangPatterns #-} |
16 | module Data.ByteString.Base32 | 16 | module Data.ByteString.Base32 |
17 | ( encode | 17 | ( Base32 |
18 | , encode | ||
18 | , decode | 19 | , decode |
19 | , decodeLenient | 20 | , decodeLenient |
20 | ) where | 21 | ) where |
@@ -25,6 +26,8 @@ import Data.ByteString.Base32.Internal | |||
25 | import Data.List as L | 26 | import Data.List as L |
26 | 27 | ||
27 | 28 | ||
29 | type Base32 = ByteString | ||
30 | |||
28 | encW5 :: Word5 -> Word8 | 31 | encW5 :: Word5 -> Word8 |
29 | encW5 !x | 32 | encW5 !x |
30 | | x <= 25 = 65 + x | 33 | | x <= 25 = 65 + x |
@@ -35,7 +38,7 @@ encTable :: EncTable | |||
35 | encTable = BS.pack $ L.map encW5 [0..31] | 38 | encTable = BS.pack $ L.map encW5 [0..31] |
36 | 39 | ||
37 | -- | Encode a bytestring into base32 form. | 40 | -- | Encode a bytestring into base32 form. |
38 | encode :: ByteString -> ByteString | 41 | encode :: ByteString -> Base32 |
39 | encode = unpack5 encTable | 42 | encode = unpack5 encTable |
40 | 43 | ||
41 | decW5 :: Word8 -> Word5 | 44 | decW5 :: Word8 -> Word5 |
@@ -53,7 +56,7 @@ decTable :: ByteString | |||
53 | decTable = BS.pack $ L.map decW5 [minBound .. maxBound] | 56 | decTable = BS.pack $ L.map decW5 [minBound .. maxBound] |
54 | 57 | ||
55 | -- | Decode a base32 encoded bytestring. | 58 | -- | Decode a base32 encoded bytestring. |
56 | decode :: ByteString -> ByteString | 59 | decode :: Base32 -> ByteString |
57 | decode = pack5 decTable | 60 | decode = pack5 decTable |
58 | 61 | ||
59 | decCharLenient :: Char -> Word5 | 62 | decCharLenient :: Char -> Word5 |