This is a Haskell binding to the
iconv() C library function.
The only module exported is
Codec.Text.IConv, which provides a single
-- | Convert fromCharset toCharset input output convert :: EncodingName -> EncodingName -> Lazy.ByteString -> Lazy.ByteString
toCharset are the names of the input and output
character set encodings, and input and output are the input and output text
as lazy ByteStrings. For example:
import qualified Codec.Text.IConv as IConv import qualified Data.ByteString.Lazy as BS main = do -- read UTF8, but convert to UTF32 internally content <- fmap (IConv.convert "UTF-8" "UTF-32") (BS.readFile file) ...
An example program, similar to the iconv program, is included.
Character set encodings
To see a list of encoding names which are known by your operating system,
iconv --list in a shell. Likely encodings are listed on the libiconv
iconv(3) function conforms to POSIX.1-2001. It is provided by the GNU C
On systems which do not have a native iconv() implementation you may need to install libiconv.