Wikipedia

iconv

iconv
Original author(s)Hewlett-Packard
Developer(s)Various open-source and commercial developers
Operating systemUnix, Unix-like, Microsoft Windows, IBM i
PlatformCross-platform
TypeCommand
Licenselibiconv: LGPL
iconv: GPL
win-iconv: Public domain[1]

In Unix and Unix-like operating systems, iconv (an abbreviation of internationalization conversion)[2] is a command-line program[3] and a standardized application programming interface (API)[4] used to convert between different character encodings. "It can convert from any of these encodings to any other, through Unicode conversion."[5]

History

Initially appearing on the HP-UX operating system,[6]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[7] 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.[8] 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, first appeared in December 2004.

Support

Currently, over a hundred different character encodings are supported.[5]

Ports

Under Microsoft Windows, the iconv library and the utility is provided by GNU's libiconv found in Cygwin[9] and GnuWin32[10] environments; there is also a "purely Win32" implementation called "win-iconv" that uses Windows' built-in routines for conversion.[11] The iconv function is also available for many programming languages.

The iconv command has also been ported to the IBM i operating system.[12]

Usage

stdin can be converted from ISO-8859-1 to current locale and output to stdout using:[13]

iconv -f iso-8859-1 

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

iconv -f iso-8859-1 -t utf-8 <infile> -o <outfile> 

See also

References

  1. ^ https://github.com/win-iconv/win-iconv/blob/master/readme.txt
  2. ^ "R: Convert Character Vector between Encodings". astrostatistics.psu.edu. Retrieved 21 April 2018.
  3. ^ "iconv". pubs.opengroup.org. Retrieved 21 April 2018.
  4. ^ "iconv". www.opengroup.org. Retrieved 21 April 2018.
  5. ^ a b "libiconv - GNU Project - Free Software Foundation (FSF)". www.gnu.org. Retrieved 21 April 2018.
  6. ^ "iconv(3C)". docstore.mik.ua. Retrieved 21 April 2018.
  7. ^ "glibc: iconv/iconv.c". Retrieved 30 November 2016.
  8. ^ "glibc: iconv/iconv_prog.c". Retrieved 30 November 2016.
  9. ^ "Cygwin Package Search: libiconv". Archived from the original on 30 November 2016. Retrieved 30 November 2016.
  10. ^ "LibIconv for Windows". gnuwin32.sourceforge.net. Retrieved 21 April 2018.
  11. ^ "win32-iconv". GitHub. Retrieved 30 November 2016.
  12. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 5 September 2020.
  13. ^ "IBM Knowledge Center". www-01.ibm.com. Retrieved 21 April 2018.

External links

This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.