2024-05-19 13:23:39 +02:00
|
|
|
module Encoding.UnixToUnix
|
|
|
|
|
( encuu
|
|
|
|
|
, decuu
|
|
|
|
|
) where
|
|
|
|
|
|
|
|
|
|
import qualified Codec.Binary.Uu as UU
|
|
|
|
|
import Data.ByteString.UTF8 as BSU -- from utf8-string
|
|
|
|
|
import qualified Data.ByteString.Char8 as C
|
|
|
|
|
|
2024-05-20 23:28:14 +02:00
|
|
|
import qualified Data.Text as T
|
|
|
|
|
import qualified Data.Text.Encoding as T
|
|
|
|
|
import qualified Data.Text.IO as T
|
|
|
|
|
|
2024-05-19 13:23:39 +02:00
|
|
|
decuu :: String -> String
|
|
|
|
|
-- decuu = C.unpack . U.fromRight . UU.decode . BSU.fromString
|
|
|
|
|
decuu input =
|
|
|
|
|
case UU.decode (BSU.fromString input) of
|
2024-05-20 23:28:14 +02:00
|
|
|
Right decoded -> T.unpack (T.decodeUtf8 decoded)
|
2024-05-19 13:23:39 +02:00
|
|
|
Left _ -> "Error decoding UU.\n"
|
|
|
|
|
|
|
|
|
|
encuu :: String -> String
|
|
|
|
|
encuu = C.unpack . UU.encode . BSU.fromString
|
|
|
|
|
|