{- | Implements ISO\/IEC 8859-1 alias latin-1 encoding. See for further informations. -} module Data.Encoding.ISO88591 (ISO88591(..) ) where import Data.Encoding.Base import Data.ByteString.Base(c2w,w2c) import Data.Char(ord,chr) import Data.Word import Control.Exception data ISO88591 = ISO88591 enc :: Char -> Word8 enc c = if ord c < 256 then c2w c else throwDyn (HasNoRepresentation c) instance Encoding ISO88591 where encode _ = encodeSinglebyte enc encodeLazy _ = encodeSinglebyteLazy enc encodable _ c = ord c < 256 decode _ = decodeSinglebyte w2c