리눅스2023. 7. 19. 08:56

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/583995

 

리눅스에서 텍스트 파일의 인코딩(encoding) 방식을 변환하는 방법이다. 예를 들어 UTF-16 인코딩을 UTF-8로 변환한다던가 하는 경우인데, iconv를 이용하면 된다.

아래의 예시를 보자. UTF-16 방식으로 인코딩되어 저장된 my_file.txt 파일을 UTF-8 방식으로 변경하여 my_file.utf8.txt 파일에 저장하는 경우다.

# my_file.txt(UTF-16 인코딩) -> my_file.utf8.txt(UTF-8 인코딩)
iconv -f UTF-16 -t UTF-8 -o my_file.utf8.txt my_file.txt

-f 옵션으로 기존 인코딩을 지정하고 -t 옵션으로 원하는 인코딩을 지정한다. from/to라고 이해하면 쉬울 듯. 결과를 저장할 파일은 -o 옵션으로 지정.

이 기능은 윈도우에서 한글로 작성한 텍스트 파일을 리눅스에서 봐야 할 때 특히 요긴하다. 한글 윈도우의 캐럭터 인코딩은 통상 EUC-KR, 리눅스에서는 UTF-8을 사용하다 보니 윈도우에서 가져온 텍스트 파일을 리눅스에서 cat 명령으로 보면 내용 확인이 안 되는데, 이럴 때 iconv를 이용해서 변환하면 깔끔하다.

# win_file.txt(EUC-KR) -> win_file.utf8.txt
iconv -f EUC-KR -t UTF-8 -o win_file.utf8.txt win_file.txt

# 변환된 내용 확인
cat win_file.utf8.txt

iconv에서 지원하는 인코딩 방식 목록을 보고 싶으면 -l 옵션으로 가능하다. UTF-8, UTF-16, EUC-KR 등을 포함해서 매우 다양한 종류의 인코딩을 지원한다.

# 지원하는 인코딩 목록 출력
iconv -l

 

 

728x90
Posted by 반달가면