이 iconv
명령은 한 문자 인코딩에서 다른 문자 인코딩으로 변환하는 데 사용됩니다. 지원하는 모든 인코딩 목록을 보려면 를 사용할 수 있습니다 iconv -l
.
iconv
지원되는 인코딩을 더 추가하여 이를 확장할 수 있는 방법이 있습니까 ? 그렇다면 그러한 확장이 출시될 수 있습니까? 아니면 코드를 변경하고 iconv
자체 개발 프로세스를 진행하는 것이 유일한 선택입니까?
답변1
구현이 GNU C 라이브러리에서 이루어 졌다면 iconv
그렇습니다.확장 가능합니다, 여러 가지 방법이 있습니다.
GNU C 라이브러리에서 문자 집합 처리는 로드 가능한 모듈에서 구현되며, 이 모듈은 (또는 시스템이 사용하는 디렉터리에서) 찾을 .so
수 있습니다. 텍스트 파일에서 어떤 문자 집합이 어떤 모듈에 의해 처리되는지 . 요구 사항에 따라 새 모듈 및/또는 새 정의를 추가할 수 있습니다. 두 경우 모두 캐시를 업데이트해야 합니다 . 배포하기 위해 변경 사항을 C 라이브러리 자체에 통합할 필요는 없습니다./usr/lib/gconv
/usr/lib/x86_64-linux-gnu/gconv
lib
/usr/lib/gconv/gconv-modules
iconvconfig
위에 링크된 매뉴얼에 자세한 내용이 나와 있습니다.
기타 구현iconv
또한 확장 가능합니다. GNU C 라이브러리를 사용하지 않는 경우 로컬 문서를 참조하세요.
답변2
Linux 및 Linux를 사용한다고 가정하면 glibc
하나 이상의 공유 가능하고 로드 가능한 gconv
모듈을 생성하여 다른 인코딩을 지원할 수 있습니다.
모듈의 기본 위치는 64비트 시스템과 32비트 시스템 gconv
용입니다 ./usr/lib64/gconv
/usr/lib/gconv
기본 정보는 및 맨페이지를 참조 iconv(1)
하십시오 iconv(3)
.iconvconfig(8)
바라보다https://www.gnu.org/software/libc/manual/html_node/glibc-iconv-Implementation.html더 알아보기. 변환 함수 프레임워크의 예가 제공됩니다. glibc
실제 예제는 소스 코드를 확인하세요 .