Copyright | (c) The University of Glasgow 2008-2011 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | libraries@haskell.org |
Stability | internal |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
GHC.IO.Encoding.Failure
Description
Types for specifying how text encoding/decoding fails
Synopsis
- data CodingFailureMode
- codingFailureModeSuffix :: CodingFailureMode -> String
- isSurrogate :: Char -> Bool
- 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
Instances details
Instance details
Defined in GHC.IO.Encoding.Failure
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.