본문 바로가기

리눅스

파일 인코딩 변경하기(libiconv)

728x90

파일 인코딩 변경하기(libiconv)

libiconv 라이브러리를 사용하여 파일의 인코딩을 변경할 수 있습니다.

libiconv 설치

libiconv download URL : https://ftp.gnu.org/gnu/libiconv/
컴파일

tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local
make
make install

iconv 버전 정보

$ iconv --version
iconv (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
이 프로그램은 공개 소프트웨어입니다; 복사조건은 소스를 참조하십시오. 상품성
이나 특정 목적에 대한 적합성을 비롯하여 어떠한 보증도 하지 않습니다.
만든 사람: Ulrich Drepper.

iconv에서 제공하는 인코딩 형식

$ iconv -l
다음 리스트에 알려진 모든 문자셋 코드가 들어 있습니다. 그렇다고 해서
명령행 인자의 FROM과 TO 인수에 여기의 모든 문자셋 이름의 조합을 사용할 수
있는 것은 아닙니다. 한개의 문자셋 코드는 몇가지 다른 이름(별명)과 함께
열거했을 수도 있습니다.

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 858, 860, 861, 862, 863, 864,
865, 866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3,
8859_4, 8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993,
10646-1:1993/UCS4, ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4,
ANSI_X3.110-1983, ANSI_X3.110, ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708,
ASMO_449, BALTIC, BIG-5, BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF,
BS_4730, CA, CN-BIG5, CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273,
CP274, CP275, CP278, CP280, CP281, CP282, CP284, CP285, CP290, CP297, CP367,
CP420, CP423, CP424, CP437, CP500, CP737, CP770, CP771, CP772, CP773, CP774,
--- 생략 ---

 

libiconv 사용 방법

iconv -f 원본인코딩 -t 대상인코딩 입력파일 > 출력파일
  • 원본인코딩: 원본 파일의 인코딩을 지정합니다.
  • 대상인코딩: 변경하고자 하는 대상 인코딩을 지정합니다.
  • 입력파일: 변환할 파일의 경로와 이름을 지정합니다.
  • 출력파일: 변환된 결과를 저장할 파일의 경로와 이름을 지정합니다.
$ iconv --usage
사용법: iconv [-lcs?V] [-f <이름>] [-t <이름>] [-o FILE]
[--from-code=<이름>] [--to-code=<이름>] [--list]
[--output=FILE] [--silent] [--verbose] [--help] [--usage]
[--version] [파일...]

UTF-8 인코딩으로 작성된 파일을 EUC-KR 인코딩으로 변경하려면 다음과 같이 명령어를 사용할 수 있습니다.

iconv -f UTF-8 -t EUC-KR input.txt > output.txt

사용 예제(testfile.txt)

$ file testfile.txt
testfile.txt: ISO-8859 text
$ cat testfile.txt
�ȳ��ϼ���
sangchul.kr URL�Դϴ�.
iconv -f EUC-KR testfile.txt -t UTF-8 -o testfile_result.txt
$ file testfile_result.txt
testfile_result.txt: UTF-8 Unicode text
$ cat testfile_result.txt
안녕하세요
sangchul.kr URL입니다.

 

iconv 명령어를 사용하여 파일 인코딩을 변경할 수 있으며, libiconv 라이브러리를 통해 다양한 인코딩 변환을 지원합니다.

 

728x90