Iconv

From Vero - Wikipedia
Jump to navigation Jump to search

Template:Short description Template:Use dmy dates Template:Lowercase Template:Infobox software In Unix and Unix-like operating systems, iconv (an abbreviation of internationalization conversion)<ref>Template:Cite web</ref> is a command-line program<ref>Template:Cite web</ref> and a standardized application programming interface (API)<ref>Template:Cite web</ref> used to convert between different character encodings. "It can convert from any of these encodings to any other, through Unicode conversion."<ref name="gnulibiconv">Template:Cite web</ref>

History

Initially appearing on the HP-UX operating system,<ref>Template:Cite web</ref>iconv() as well as the utility was standardized within XPG4 and is part of the Single UNIX Specification (SUS).

Implementations

Most Linux distributions provide an implementation, either from the GNU Standard C Library (included since version 2.1, February 1999), or the more traditional GNU libiconv, for systems based on other Standard C Libraries.

The iconv function<ref>Template:Cite webTemplate:Dead link</ref> on both is licensed as LGPL, so it is linkable with closed source applications.

Unlike the libraries, the iconv utility is licensed under GPL in both implementations.<ref>Template:Cite webTemplate:Dead link</ref> The GNU libiconv implementation is portable, and can be used on various UNIX-like and non-UNIX systems. Version 0.3 dates from December 1999.

The uconv utility from International Components for Unicode provides an iconv-compatible command-line syntax for transcoding.

Most BSD systems use NetBSD's implementation, which first appeared in December 2004.

The musl C library implements the iconv function with support for all encodings specified by the WHATWG Encoding Standard.

Support

Currently, over a hundred different character encodings are supported in the GNU variant.<ref name="gnulibiconv"/>

Ports

Under Microsoft Windows, the iconv library and the utility is provided by GNU's libiconv found in Cygwin<ref name="cygwin-libiconv-search">Template:Cite web</ref> and GnuWin32<ref name="gnuwin32-libiconv">Template:Cite web</ref> environments; there is also a "purely Win32" implementation called "win-iconv" that uses Windows' built-in routines for conversion.<ref name="win-iconv">Template:Cite web</ref> The iconv function is also available for many programming languages.

The Template:Mono command has also been ported to the IBM i operating system.<ref>Template:Cite web</ref>

Usage

stdin can be converted from ISO-8859-1 to current locale and output to stdout using:<ref>Template:Cite web</ref>

<syntaxhighlight lang="bash"> iconv -f iso-8859-1 </syntaxhighlight>

An input file infile can be converted from ISO-8859-1 to UTF-8 and output to output file outfile using:

<syntaxhighlight lang="bash"> iconv -f iso-8859-1 -t utf-8 <infile> -o <outfile> </syntaxhighlight>

See also

References

Template:Reflist

Template:Wikibooks

Template:Unix commands Template:Hewlett-Packard software