Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bnoordhuis/libiconv
https://github.com/bnoordhuis/libiconv
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/bnoordhuis/libiconv
- Owner: bnoordhuis
- License: gpl-3.0
- Created: 2011-03-31T21:41:16.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-03-31T22:14:50.000Z (over 13 years ago)
- Last Synced: 2024-04-15T02:37:09.594Z (7 months ago)
- Language: C
- Homepage: http://www.gnu.org/software/libiconv/
- Size: 6.95 MB
- Stars: 9
- Watchers: 2
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
README
GNU LIBICONV - character set conversion library
This library provides an iconv() implementation, for use on systems which
don't have one, or whose implementation cannot convert from/to Unicode.It provides support for the encodings:
European languages
ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
KOI8-R, KOI8-U, KOI8-RU,
CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},
Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
Mac{Cyrillic,Ukraine,Greek,Turkish},
Macintosh
Semitic languages
ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
Japanese
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
Chinese
EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN,
ISO-2022-CN-EXT
Korean
EUC-KR, CP949, ISO-2022-KR, JOHAB
Armenian
ARMSCII-8
Georgian
Georgian-Academy, Georgian-PS
Tajik
KOI8-T
Kazakh
PT154, RK1048
Thai
ISO-8859-11, TIS-620, CP874, MacThai
Laotian
MuleLao-1, CP1133
Vietnamese
VISCII, TCVN, CP1258
Platform specifics
HP-ROMAN8, NEXTSTEP
Full Unicode
UTF-8
UCS-2, UCS-2BE, UCS-2LE
UCS-4, UCS-4BE, UCS-4LE
UTF-16, UTF-16BE, UTF-16LE
UTF-32, UTF-32BE, UTF-32LE
UTF-7
C99, JAVA
Full Unicode, in terms of `uint16_t' or `uint32_t'
(with machine dependent endianness and alignment)
UCS-2-INTERNAL, UCS-4-INTERNAL
Locale dependent, in terms of `char' or `wchar_t'
(with machine dependent endianness and alignment, and with OS and
locale dependent semantics)
char, wchar_t
The empty encoding name "" is equivalent to "char": it denotes the
locale dependent character encoding.When configured with the option --enable-extra-encodings, it also provides
support for a few extra encodings:European languages
CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
Semitic languages
CP864
Japanese
EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
Chinese
BIG5-2003 (experimental)
Turkmen
TDS565
Platform specifics
ATARIST, RISCOS-LATIN1It can convert from any of these encodings to any other, through Unicode
conversion.It has also some limited support for transliteration, i.e. when a character
cannot be represented in the target character set, it can be approximated
through one or several similarly looking characters. Transliteration is
activated when "//TRANSLIT" is appended to the target encoding name.libiconv is for you if your application needs to support multiple character
encodings, but that support lacks from your system.Installation
------------As usual for GNU packages:
$ ./configure --prefix=/usr/local
$ make
$ make installAfter installing GNU libiconv for the first time, it is recommended to
recompile and reinstall GNU gettext, so that it can take advantage of
libiconv.On systems other than GNU/Linux, the iconv program will be internationalized
only if GNU gettext has been built and installed before GNU libiconv. This
means that the first time GNU libiconv is installed, we have a circular
dependency between the GNU libiconv and GNU gettext packages, which can be
resolved by building and installing either
- first libiconv, then gettext, then libiconv again,
or (on systems supporting shared libraries, excluding AIX)
- first gettext, then libiconv, then gettext again.
Recall that before building a package for the second time, you need to erase
the traces of the first build by running "make distclean".This library can be built and installed in two variants:
- The library mode. This works on all systems, and uses a library
`libiconv.so' and a header file `'. (Both are installed
through "make install".)To use it, simply #include and use the functions.
To use it in an autoconfiguring package:
- If you don't use automake, append m4/iconv.m4 to your aclocal.m4
file.
- If you do use automake, add m4/iconv.m4 to your m4 macro repository.
- Add to the link command line of libraries and executables that use
the functions the placeholder @LIBICONV@ (or, if using libtool for
the link, @LTLIBICONV@). If you use automake, the right place for
these additions are the *_LDADD variables.
Note that 'iconv.m4' is also part of the GNU gettext package, which
installs it in /usr/local/share/aclocal/iconv.m4.- The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
systems only. It is a way to get good iconv support without having
glibc-2.1.
It installs a library `preloadable_libiconv.so'. This library can be used
with LD_PRELOAD, to override the iconv* functions present in the C library.On GNU/Linux and Solaris:
$ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.soOn OSF/1:
$ export _RLD_LIST=/usr/local/lib/preloadable_libiconv.so:DEFAULTA program's source need not be modified, the program need not even be
recompiled. Just set the LD_PRELOAD environment variable, that's it!Copyright
---------The libiconv and libcharset _libraries_ and their header files are under LGPL,
see file COPYING.LIB.The iconv _program_ and the documentation are under GPL, see file COPYING.
Download
--------http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz
Homepage
--------http://www.gnu.org/software/libiconv/
Bug reports to
--------------
Bruno Haible