| Portability | non-portable | 
|---|---|
| Stability | internal | 
| Maintainer | libraries@haskell.org | 
GHC.IO.Encoding.Failure
Description
Types for specifying how text encoding/decoding fails
- data CodingFailureMode
 - codingFailureModeSuffix :: CodingFailureMode -> String
 - isSurrogate :: Char -> Bool
 - surrogatifyRoundtripCharacter :: Char -> Char
 - desurrogatifyRoundtripCharacter :: Char -> Char
 - recoverDecode :: CodingFailureMode -> Buffer Word8 -> Buffer Char -> IO (Buffer Word8, Buffer Char)
 - recoverEncode :: CodingFailureMode -> Buffer Char -> Buffer Word8 -> IO (Buffer Char, Buffer Word8)
 
Documentation
data CodingFailureMode Source
The CodingFailureMode is used to construct TextEncodings, and specifies
 how they handle illegal sequences.
Constructors
| ErrorOnCodingFailure | Throw an error when an illegal sequence is encountered  | 
| IgnoreCodingFailure | Attempt to ignore and recover if an illegal sequence is encountered  | 
| TransliterateCodingFailure | Replace with the closest visual match upon an illegal sequence  | 
| RoundtripFailure | Use the private-use escape mechanism to attempt to allow illegal sequences to be roundtripped.  | 
Instances
isSurrogate :: Char -> BoolSource
Some characters are actually surrogate codepoints defined for use in UTF-16. We need to signal an
 invalid character if we detect them when encoding a sequence of Chars into Word8s because they won't
 give valid Unicode.
We may also need to signal an invalid character if we detect them when encoding a sequence of Chars into Word8s
 because the RoundtripFailure mode creates these to round-trip bytes through our internal UTF-16 encoding.