Copyright | (c) Iavor S. Diatchki 2009 |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | emertens@galois.com |
Stability | experimental |
Portability | portable This module provides fast, validated encoding and decoding functions between 'ByteString's and 'String's. It does not exactly match the output of the Codec.Binary.UTF8.String output for invalid encodings as the number of replacement characters is sometimes longer. |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Data.ByteString.Lazy.UTF8
Description
Synopsis
- data ByteString
- decode :: ByteString -> Maybe (Char, Int64)
- replacement_char :: Char
- uncons :: ByteString -> Maybe (Char, ByteString)
- splitAt :: Int64 -> ByteString -> (ByteString, ByteString)
- take :: Int64 -> ByteString -> ByteString
- drop :: Int64 -> ByteString -> ByteString
- span :: (Char -> Bool) -> ByteString -> (ByteString, ByteString)
- break :: (Char -> Bool) -> ByteString -> (ByteString, ByteString)
- fromString :: String -> ByteString
- toString :: ByteString -> String
- foldl :: (a -> Char -> a) -> a -> ByteString -> a
- foldr :: (Char -> a -> a) -> a -> ByteString -> a
- length :: ByteString -> Int
- lines :: ByteString -> [ByteString]
- lines' :: ByteString -> [ByteString]
Documentation
data ByteString #
Instances
NFData ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods rnf :: ByteString -> () | |||||
Monoid ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods mempty :: ByteString mappend :: ByteString -> ByteString -> ByteString mconcat :: [ByteString] -> ByteString | |||||
Semigroup ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods (<>) :: ByteString -> ByteString -> ByteString sconcat :: NonEmpty ByteString -> ByteString stimes :: Integral b => b -> ByteString -> ByteString | |||||
Data ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteString -> c ByteString gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteString toConstr :: ByteString -> Constr dataTypeOf :: ByteString -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteString) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteString) gmapT :: (forall b. Data b => b -> b) -> ByteString -> ByteString gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r gmapQ :: (forall d. Data d => d -> u) -> ByteString -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteString -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString | |||||
IsString ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods fromString :: String -> ByteString | |||||
IsList ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Associated Types
Methods fromList :: [Item ByteString] -> ByteString fromListN :: Int -> [Item ByteString] -> ByteString toList :: ByteString -> [Item ByteString] | |||||
Read ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods readsPrec :: Int -> ReadS ByteString readList :: ReadS [ByteString] readPrec :: ReadPrec ByteString readListPrec :: ReadPrec [ByteString] | |||||
Show ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods showsPrec :: Int -> ByteString -> ShowS show :: ByteString -> String showList :: [ByteString] -> ShowS | |||||
Eq ByteString | |||||
Defined in Data.ByteString.Lazy.Internal | |||||
Ord ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods compare :: ByteString -> ByteString -> Ordering (<) :: ByteString -> ByteString -> Bool (<=) :: ByteString -> ByteString -> Bool (>) :: ByteString -> ByteString -> Bool (>=) :: ByteString -> ByteString -> Bool max :: ByteString -> ByteString -> ByteString min :: ByteString -> ByteString -> ByteString | |||||
Lift ByteString | |||||
Defined in Data.ByteString.Lazy.Internal Methods lift :: Quote m => ByteString -> m Exp liftTyped :: forall (m :: Type -> Type). Quote m => ByteString -> Code m ByteString | |||||
UTF8Bytes ByteString Int64 Source # | |||||
Defined in Codec.Binary.UTF8.Generic Methods bsplit :: Int64 -> ByteString -> (ByteString, ByteString) Source # bdrop :: Int64 -> ByteString -> ByteString Source # buncons :: ByteString -> Maybe (Word8, ByteString) Source # elemIndex :: Word8 -> ByteString -> Maybe Int64 Source # empty :: ByteString Source # null :: ByteString -> Bool Source # pack :: [Word8] -> ByteString Source # tail :: ByteString -> ByteString Source # | |||||
type Item ByteString | |||||
Defined in Data.ByteString.Lazy.Internal type Item ByteString = Word8 |
decode :: ByteString -> Maybe (Char, Int64) Source #
Try to extract a character from a byte string.
Returns Nothing
if there are no more bytes in the byte string.
Otherwise, it returns a decoded character and the number of
bytes used in its representation.
Errors are replaced by character '\0xFFFD'
.
replacement_char :: Char Source #
This character is used to mark errors in a UTF8 encoded string.
uncons :: ByteString -> Maybe (Char, ByteString) Source #
Get the first character of a byte string, if any.
Malformed characters are replaced by '\0xFFFD'
.
splitAt :: Int64 -> ByteString -> (ByteString, ByteString) Source #
Split after a given number of characters. Negative values are treated as if they are 0.
take :: Int64 -> ByteString -> ByteString Source #
take n s
returns the first n
characters of s
.
If s
has less than n
characters, then we return the whole of s
.
drop :: Int64 -> ByteString -> ByteString Source #
drop n s
returns the s
without its first n
characters.
If s
has less than n
characters, then we return an empty string.
span :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) Source #
Split a string into two parts: the first is the longest prefix
that contains only characters that satisfy the predicate; the second
part is the rest of the string.
Invalid characters are passed as '\0xFFFD'
to the predicate.
break :: (Char -> Bool) -> ByteString -> (ByteString, ByteString) Source #
Split a string into two parts: the first is the longest prefix
that contains only characters that do not satisfy the predicate; the second
part is the rest of the string.
Invalid characters are passed as '\0xFFFD'
to the predicate.
fromString :: String -> ByteString Source #
Converts a Haskell string into a UTF8 encoded bytestring.
toString :: ByteString -> String Source #
Convert a UTF8 encoded bytestring into a Haskell string.
Invalid characters are replaced with '\0xFFFD'
.
foldl :: (a -> Char -> a) -> a -> ByteString -> a Source #
Traverse a bytestring (left biased). This function is strict in the accumulator.
foldr :: (Char -> a -> a) -> a -> ByteString -> a Source #
Traverse a bytestring (right biased).
length :: ByteString -> Int Source #
Counts the number of characters encoded in the bytestring. Note that this includes replacement characters.
lines :: ByteString -> [ByteString] Source #
Split a string into a list of lines.
Lines are terminated by '\n'
or the end of the string.
Empty lines may not be terminated by the end of the string.
See also lines'
.
lines' :: ByteString -> [ByteString] Source #
Split a string into a list of lines.
Lines are terminated by '\n'
or the end of the string.
Empty lines may not be terminated by the end of the string.
This function preserves the terminators.
See also lines
.