유닉스와 유닉스-계열 운영 시스템에서, iconv (국제화 변환의 약어)는 명령줄 프로그램이고 서로 다른 문자 인코딩 사이를 변환하기 위해 사용된 표준화된 응용 프로그래밍 인터페이스 (API)입니다. "그것은 유니코드 변환을 통해 이들 인코딩의 임의의 것에서 임의의 다른 인코딩으로 변환할 수 있습니다."
History
HP-UX 운영 시스템에 처음 등장한, iconv()와 마찬가지로 유틸리티는 XPG4 내에서 표준화되었고 단일 유닉스 사양 (SUS)의 일부입니다.
Implementations
대부분의 리눅스 배포판은 다른 표준 C 라이브러리를 기반으로 하는 시스템에 대해, GNU 표준 C 라이브러리 (1999년 2월 버전 2.1 이후 포함) 또는 보다 전통적인 GNU libiconv에서 구현을 제공합니다.
둘 다에서 iconv 함수는 LGPL로 라이선스가 부여되므로, 폐쇄형 소스 응용 프로그램과 연결할 수 있습니다.
라이브러리와 달리, iconv 유틸리티는 두 구현 모두에서 GPL 아래에서 라이선스가 부여됩니다. GNU libiconv 구현은 이식 가능하고, 다양한 유닉스-계열 및 비-유닉스 시스템에서 사용할 수 있습니다. 버전 0.3은 1999년 12월 날짜입니다.
유니코드에 대해 국제 구성 요소에서 uconv 유틸리티는 트랜스코딩을 위한 iconv-호환 명령줄 구문을 제공합니다.
대부분의 BSD 시스템은 2004년 12월에 처음 등장한 NetBSD의 구현을 사용합니다.
Support
현재, 100가지가 넘는 다양한 문자 인코딩이 지원됩니다.
Ports
Microsoft Windows 아래에서, iconv 라이브러리와 유틸리티는 Cygwin 및 GnuWin32 환경에 있는 GNU의 libiconv에 의해 제공됩니다; 변환을 위해 Windows의 내장 루틴을 사용하는 "win-iconv"라고 하는 "순수한 Win32" 구현도 있습니다. iconv 함수는 역시 많은 프로그래밍 언어에서 사용할 수 있습니다.
iconv 명령은 역시 IBM i 운영 시스템에 이식되었습니다.
Usage
stdin은 다음을 사용하여 ISO-8859-1에서 현재 로케일로 변환하고 stdout으로 출력될 수 있습니다:
iconv -f iso-8859-1
입력 파일 infile은 다음을 사용하여 ISO-8859-1에서 UTF-8로 변환하고 출력 파일 outfile로 출력될 수 있습니다:
iconv -f iso-8859-1 -t utf-8 <infile> -o <outfile>