Copyright | (c) The University of Glasgow, 2008-2009 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | libraries@haskell.org |
Stability | internal |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Types for text encoding/decoding
- data BufferCodec from to state = BufferCodec {}
- data TextEncoding = forall dstate estate . TextEncoding {
- textEncodingName :: String
- mkTextDecoder :: IO (TextDecoder dstate)
- mkTextEncoder :: IO (TextEncoder estate)
- type TextEncoder state = BufferCodec CharBufElem Word8 state
- type TextDecoder state = BufferCodec Word8 CharBufElem state
- type CodeBuffer from to = Buffer from -> Buffer to -> IO (CodingProgress, Buffer from, Buffer to)
- type EncodeBuffer = CodeBuffer Char Word8
- type DecodeBuffer = CodeBuffer Word8 Char
- data CodingProgress
Documentation
data BufferCodec from to state Source
BufferCodec | |
|
data TextEncoding Source
A TextEncoding
is a specification of a conversion scheme
between sequences of bytes and sequences of Unicode characters.
For example, UTF-8 is an encoding of Unicode characters into a sequence
of bytes. The TextEncoding
for UTF-8 is utf8
.
forall dstate estate . TextEncoding | |
|
type TextEncoder state = BufferCodec CharBufElem Word8 state Source
type TextDecoder state = BufferCodec Word8 CharBufElem state Source
type CodeBuffer from to = Buffer from -> Buffer to -> IO (CodingProgress, Buffer from, Buffer to) Source
type EncodeBuffer = CodeBuffer Char Word8 Source
type DecodeBuffer = CodeBuffer Word8 Char Source
data CodingProgress Source
Since: 4.4.0.0
InputUnderflow | Stopped because the input contains insufficient available elements, or all of the input sequence has been sucessfully translated. |
OutputUnderflow | Stopped because the output contains insufficient free elements |
InvalidSequence | Stopped because there are sufficient free elements in the output to output at least one encoded ASCII character, but the input contains an invalid or unrepresentable sequence |