System.Win32.Encoding

Win32-2.5.4.1: A binding to part of the Win32 library

Copyright | 2012 shelarcy
License | BSD-style
Maintainer | shelarcy@gmail.com
Stability | Provisional
Portability | Non-portable (Win32 API)
Safe Haskell | None
Language | Haskell98

System.Win32.Encoding (signature[?])

Description

Enocode/Decode mutibyte charactor using Win32 API.

Synopsis

- getCurrentCodePage :: IO DWORD
- encodeMultiByte :: CodePage -> String -> String
- encodeMultiByteIO :: CodePage -> String -> IO String
- decodeMultiByte :: CodePage -> String -> String
- decodeMultiByteIO :: CodePage -> String -> IO String
- wideCharToMultiByte :: CodePage -> DWORD -> LPCWSTR -> CInt -> LPSTR -> CInt -> LPCSTR -> LPBOOL -> IO CInt
- multiByteToWideChar :: CodePage -> DWORD -> LPCSTR -> CInt -> LPWSTR -> CInt -> IO CInt

# Documentation

getCurrentCodePage :: IO DWORD Source #

encodeMultiByte :: CodePage -> String -> String Source #

The System.IO output functions (e.g. `putStr`) don't automatically convert to multibyte string on Windows, so this function is provided to make the conversion from a Unicode string in the given code page to a proper multibyte string. To get the code page for the console, use `getCurrentCodePage`.

encodeMultiByteIO :: CodePage -> String -> IO String Source #

decodeMultiByte :: CodePage -> String -> String Source #

The System.IO input functions (e.g. `getLine`) don't automatically convert to Unicode, so this function is provided to make the conversion from a multibyte string in the given code page to a proper Unicode string. To get the code page for the console, use `getCurrentCodePage`.

decodeMultiByteIO :: CodePage -> String -> IO String Source #

Because of `stringToUnicode` is unclear name, we use `decodeMultiByteIO` for alias of `stringToUnicode`.

wideCharToMultiByte :: CodePage -> DWORD -> LPCWSTR -> CInt -> LPSTR -> CInt -> LPCSTR -> LPBOOL -> IO CInt Source #

multiByteToWideChar :: CodePage -> DWORD -> LPCSTR -> CInt -> LPWSTR -> CInt -> IO CInt Source #