os-string-2.0.2.1: Library for manipulating Operating system strings.
Safe HaskellNone
LanguageHaskell2010

System.OsString.Encoding.Internal

Synopsis

Documentation

utf16le_b :: TextEncoding #

Mimics the base encoding for filesystem operations. This should be total on all inputs (word16 byte arrays).

Note that this has a subtle difference to encodeWithBaseWindows/decodeWithBaseWindows: it doesn't care for the 0x0000 end marker and will as such produce different results. Use takeWhile (/= 'NUL') on the input to recover this behavior.

withWindowsString :: String -> (Int -> Ptr Word16 -> IO a) -> IO a #

decodeWithBasePosix :: ShortByteString -> IO String #

This mimics the filepath decoder base uses on unix, with the small distinction that we're not truncating at NUL bytes (because we're not at the outer FFI layer).

encodeWithBasePosix :: String -> IO ShortByteString #

This mimics the filepath dencoder base uses on unix, with the small distinction that we're not truncating at NUL bytes (because we're not at the outer FFI layer).

decodeWithBaseWindows :: ShortByteString -> IO String #

This mimics the filepath decoder base uses on windows, with the small distinction that we're not truncating at NUL bytes (because we're not at the outer FFI layer).

encodeWithBaseWindows :: String -> IO ShortByteString #

This mimics the filepath dencoder base uses on windows, with the small distinction that we're not truncating at NUL bytes (because we're not at the outer FFI layer).

data EncodingException #

Constructors

EncodingError String (Maybe Word8)

Could not decode a byte sequence because it was invalid under the given encoding, or ran out of input in mid-decode.