[text] 문자 집합간에 텍스트 파일을 변환하는 가장 좋은 방법은 무엇입니까?

문자 집합간에 텍스트 파일을 변환하는 가장 빠르고 쉬운 도구 또는 방법은 무엇입니까?

특히 UTF-8에서 ISO-8859-15로 또는 그 반대로 변환해야합니다.

좋아하는 스크립트 언어의 한 줄짜리 도구, 명령 줄 도구 또는 OS, 웹 사이트 등의 기타 유틸리티

지금까지 최고의 솔루션 :

Linux / UNIX / OS X / cygwin에서 :

  • Troels Arvin 이 제안한 Gnu iconv 는 필터로 사용 하는 것이 가장 좋습니다 . 보편적으로 사용 가능한 것 같습니다. 예:

    $ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
    

    Ben이 지적했듯이 iconv를 사용 하는 온라인 변환기있습니다 .

  • Cheekysoft 가 제안한 Gnu recode ( 수동 )는 하나 또는 여러 개의 파일을 그 자리에서 변환 합니다 . 예:

    $ recode UTF8..ISO-8859-15 in.txt
    

    이것은 짧은 별칭을 사용합니다.

    $ recode utf8..l9 in.txt
    

    Recode는 또한 다른 줄 끝 유형과 인코딩 간을 변환하는 데 사용할 수있는 표면 을 지원합니다 .

    줄 바꾸기를 LF (Unix)에서 CR-LF (DOS)로 변환합니다.

    $ recode ../CR-LF in.txt
    

    Base64 인코딩 파일 :

    $ recode ../Base64 in.txt
    

    그것들을 결합 할 수도 있습니다.

    Unix 줄 끝이있는 Base64 인코딩 UTF8 파일을 Dos 줄 끝이있는 Base64 인코딩 Latin 1 파일로 변환하십시오.

    $ recode utf8/Base64..l1/CR-LF/Base64 file.txt
    

Powershell이 설치된 Windows ( Jay Bazuzi ) :

  • PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt

    (ISO-8859-15는 지원하지 않습니다. 지원되는 문자 세트는 유니 코드, utf7, utf8, utf32, ascii, bigendianunicode, default 및 oem입니다.)

편집하다

ISO-8859-1 지원을 의미합니까? “문자열”을 사용하면 예를 들어 반대로

gc -en string in.txt | Out-File -en utf8 out.txt

참고 : 가능한 열거 값은 “알 수 없음, 문자열, 유니 코드, 바이트, BigEndianUnicode, UTF8, UTF7, Ascii”입니다.



답변

독립형 유틸리티 접근

iconv -f ISO-8859-1 -t UTF-8 in.txt > out.txt
-f ENCODING  the encoding of the input
-t ENCODING  the encoding of the output

이 인수 중 하나를 지정할 필요는 없습니다. 기본적으로 현재 로케일 (일반적으로 UTF-8)로 설정됩니다.


답변

VIM 사용해보기

당신이 vim이것을 사용할 수있는 경우 :

모든 인코딩에 대해 테스트되지 않았습니다.

이것에 대한 멋진 부분은 소스 인코딩을 알 필요가 없다는 것입니다

vim +"set nobomb | set fenc=utf8 | x" filename.txt

이 명령은 파일을 직접 수정합니다.


설명 부분!

  1. +: vim에서 파일을 열 때 명령을 직접 입력하는 데 사용됩니다. Usualy는 특정 줄에서 파일을 열었습니다.vim +14 file.txt
  2. |: ;bash에서 와 같이 여러 명령의 구분 기호
  3. set nobomb : UTF-8 BOM 없음
  4. set fenc=utf8: 새 인코딩을 utf-8 doc 링크로 설정
  5. x : 파일 저장 후 닫기
  6. filename.txt : 파일 경로
  7. ": 파이프 때문에 qotes가 여기 있습니다. (그렇지 않으면 bash는 bash 파이프로 사용합니다)

답변

Linux에서는 매우 강력한 recode 명령을 사용하여 다른 문자 집합과 줄 끝 문제를 시도하고 변환 할 수 있습니다. recode -l 은 도구가 변환 할 수있는 모든 형식과 인코딩을 보여줍니다. 매우 긴 목록 일 가능성이 높습니다.


답변

iconv (1)

iconv -f FROM-ENCODING -t TO-ENCODING file.txt

또한 여러 언어로 된 iconv 기반 도구가 있습니다.


답변

Get-Content -Encoding UTF8 FILE-UTF8.TXT | Out-File -Encoding UTF7 FILE-UTF7.TXT

입력 BOM이 올바른 것으로 가정 할 수있는 가장 짧은 버전 :

gc FILE.TXT | Out-File -en utf7 file-utf7.txt


답변

iconv Bash 기능 사용해보기

나는 이것을 넣었다 .bashrc.

utf8()
{
    iconv -f ISO-8859-1 -t UTF-8 $1 > $1.tmp
    rm $1
    mv $1.tmp $1
}

.. 파일을 다음과 같이 변환 할 수 있습니다.

utf8 MyClass.java


답변

메모장 사용해보기 ++

Windows에서는 메모장 ++을 사용하여 ISO-8859-1 에서 UTF-8 로 변환 할 수있었습니다 . 클릭 "Encoding"다음 "Convert to UTF-8".