Ответ находится в верхней части страницы, на которую вы ссылаетесь:
Чтобы получить доступ к гораздо большему семейству кодировок, используйте пакет text-icu
: http://hackage.haskell.org/package/text-icu
Краткий пример GHCi:
λ> import Data.Text.ICU.Convert
λ> conv <- open "ISO-8859-1" Nothing
λ> Data.Text.IO.putStrLn $ toUnicode conv $ Data.ByteString.pack [198, 216, 197]
ÆØÅ
λ> Data.ByteString.unpack $ fromUnicode conv $ Data.Text.pack "ÆØÅ"
[198,216,197]
Однако, как вы указали, в конкретном случае latin-1 кодовые точки совпадают с Unicode, поэтому вы можете использовать pack
/unpack
из Data.ByteString.Char8
, чтобы выполнить тривиальное отображение из латиницы-1 из / в String
, которое затем можно преобразовать в Text
, используя соответствующий pack
/ unpack
из Data.Text
.