Copyright | (c) The University of Glasgow 2008-2009 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | libraries@haskell.org |
Stability | internal |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Types for text encoding/decoding
Synopsis
- data BufferCodec from to state where
- BufferCodec# { }
- pattern BufferCodec :: CodeBuffer from to -> (Buffer from -> Buffer to -> IO (Buffer from, Buffer to)) -> IO () -> IO state -> (state -> IO ()) -> BufferCodec from to state
- data TextEncoding = 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
- type DecodeBuffer# = CodeBuffer# Word8 Char
- type EncodeBuffer# = CodeBuffer# Char Word8
- type DecodingBuffer# = CodingBuffer# Word8 Char
- type EncodingBuffer# = CodingBuffer# Char Word8
Documentation
data BufferCodec from to state Source #
BufferCodec# | |
|
pattern BufferCodec :: CodeBuffer from to -> (Buffer from -> Buffer to -> IO (Buffer from, Buffer to)) -> IO () -> IO state -> (state -> IO ()) -> BufferCodec from to state |
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
.
TextEncoding | |
|
Instances
Show TextEncoding | @since base-4.3.0.0 |
Defined in GHC.Internal.IO.Encoding.Types |
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 base-4.4.0.0
InputUnderflow | Stopped because the input contains insufficient available elements, or all of the input sequence has been successfully 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 |
Instances
Show CodingProgress | @since base-4.4.0.0 |
Defined in GHC.Internal.IO.Encoding.Types | |
Eq CodingProgress | @since base-4.4.0.0 |
Defined in GHC.Internal.IO.Encoding.Types (==) :: CodingProgress -> CodingProgress -> Bool Source # (/=) :: CodingProgress -> CodingProgress -> Bool Source # |
type DecodeBuffer# = CodeBuffer# Word8 Char Source #
type EncodeBuffer# = CodeBuffer# Char Word8 Source #
type DecodingBuffer# = CodingBuffer# Word8 Char Source #
type EncodingBuffer# = CodingBuffer# Char Word8 Source #