System.Win32.Encoding

Copyright 2012 shelarcy
License BSD-style
Maintainer [email protected]
Stability Provisional
Portability Non-portable (Win32 API)
Safe Haskell None
Language Haskell2010

Description

Enocode/Decode mutibyte charactor using Win32 API.

getCurrentCodePage :: IO DWORD

encodeMultiByte :: CodePage -> String -> String

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

decodeMultiByte :: CodePage -> String -> String

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

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

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

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

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/Win32-2.6.1.0/System-Win32-Encoding.html