Portability | non-portable |
---|---|
Stability | internal |
Maintainer | libraries@haskell.org |
GHC.IO.Encoding.Failure
Description
Types for specifying how text encoding/decoding fails
Synopsis
- 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 TextEncoding
s, and specifies
how they handle illegal sequences.
Constructors
Throw an error when an illegal sequence is encountered
Attempt to ignore and recover if an illegal sequence is encountered
Replace with the closest visual match upon an illegal sequence
Use the private-use escape mechanism to attempt to allow illegal sequences to be roundtripped.
Instances
isSurrogate :: Char -> Bool Source
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 Char
s into Word8
s 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 Char
s into Word8
s
because the RoundtripFailure
mode creates these to round-trip bytes through our internal UTF-16 encoding.