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




소리 사진 (15)

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

특히 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 ( manual )는 하나 또는 여러 개의 파일을 내부 변환 합니다 . 예:

    $ 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
    

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

    유닉스 라인 엔딩이있는 Base64 인코딩 UTF8 파일을 Dos 라인 엔딩이있는 Base64 인코딩 라틴 파일로 변환 :

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

Powershell ( Jay Bazuzi )가 설치된 Windows :

  • 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 지원을 의미합니까? "String"을 사용하면이 작업을 수행합니다. 그 반대의 경우도 마찬가지입니다.

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

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


Answers

파일의 문자 인코딩을 수정하려면 어떻게합니까? Synalyze It! ICU 라이브러리가 지원하는 모든 인코딩간에 OS X을 쉽게 변환 할 수 있습니다.

또한 모든 인코딩에서 유니 코드로 변환 된 파일의 일부 바이트를 표시하여 파일에 적합한 것을 빠르게 볼 수 있습니다.


독립형 유틸리티 접근 방식

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

Yudit 편집기는 다양한 텍스트 인코딩을 지원하고 변환하며, Linux, Windows, Mac 등에서 실행됩니다.

-아담


현재 캐릭터 세트가 표시된 상태 표시 줄 (하단)의 IntelliJ IDEA IDE에서로드 된 파일의 인코딩을 변경하기 만하면됩니다. 다시로드 또는 변환하라는 메시지가 나타나면 변환을 사용하십시오. 미리 원본 파일을 백업했는지 확인하십시오.


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

내가 가장 좋아하는 툴은 두 가지 매우 편리한 기능을 가진 Jedit (자바 기반의 텍스트 편집기)이다.

  • 사용자가 다른 인코딩으로 텍스트를 다시로드 할 수있게 해주는 기능 (결과적으로 시각적으로 제어하기 위해)
  • 사용자가 저장하기 전에 명시 적으로 인코딩 (및 행 끝 문자)을 선택할 수있게하는 또 다른 방법

찾기를 사용하여 자동 감지 기능을 사용하는 Oneliner

일치하는 모든 텍스트 파일 의 문자 인코딩자동으로 감지 되고 일치하는 모든 텍스트 파일이 utf-8 인코딩으로 변환됩니다.

$ find . -type f -iname *.txt -exec sh -c 'iconv -f $(file -bi "$1" |sed -e "s/.*[ ]charset=//") -t utf-8 -o converted "$1" && mv converted "$1"' -- {} \;

이 단계를 수행하려면 -exec-c 플래그를 사용하여 한 줄짜리 실행하고 -- {} 을 사용하여 위치 인수 "$1" 로 파일을 전달하는 하위 쉘 sh 가 사용됩니다. 그 중간에 utf-8 출력 파일의 이름이 임시 converted 됩니다.

file -bi 는 다음을 의미합니다.

  • -b, - brief
    파일 이름을 출력 행 앞에 추가하지 마십시오 (간단한 모드).

  • -i, --mime
    file 명령이 인간이 읽을 수있는 전통적인 형식이 아닌 mime 형식 문자열을 출력하도록합니다. 따라서 그것은 'text / plain; ASCII 텍스트 "대신"charset = us-ascii "를 사용하십시오.

find 명령은 이러한 파일 관리 자동화에 매우 유용합니다.

더 많은 find 려면 여기를 클릭하십시오.


속성 파일 (Java)을 작성하는 것은 일반적으로 리눅스 (민트 및 우분투 배포판)에서 사용합니다.

$ native2ascii filename.properties

예 :

$ cat test.properties 
first=Execução número um
second=Execução número dois

$ native2ascii test.properties 
first=Execu\u00e7\u00e3o n\u00famero um
second=Execu\u00e7\u00e3o n\u00famero dois

추신 : 나는 특수 문자를 강제로 portugues에서 실행 번호 1 / 2 writed.

제 경우에는, 첫 번째 실행에서 나는이 메시지를 받았습니다 :

$ native2ascii teste.txt 
The program 'native2ascii' can be found in the following packages:
 * gcj-5-jdk
 * openjdk-8-jdk-headless
 * gcj-4.8-jdk
 * gcj-4.9-jdk
Try: sudo apt install <selected package>

첫 번째 옵션 (gcj-5-jdk)을 설치하면 문제가 해결되었습니다.

나는 이것이 누군가를 돕기를 바랍니다.


보십시오 iconv 강타 기능

나는 이것을 .bashrc 넣었다.

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

.. 이렇게 파일을 변환 할 수 있습니다 :

utf8 MyClass.java

DOS / Windows : 코드 페이지 사용

chcp 65001>NUL
type ascii.txt > unicode.txt

chcp 명령을 사용하여 코드 페이지를 변경할 수 있습니다. 코드 페이지 65001은 UTF-8의 Microsoft 이름입니다. 코드 페이지를 설정하면 다음 명령으로 생성 된 출력이 코드 페이지로 설정됩니다.


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



iconv (1)

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

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



Joris Meys의 대답을 기반으로 해답을 찾았습니다. "length"인수에 관한 "vector ()"문서

... 긴 벡터, 즉 length> .Machine $ integer.max의 경우 "double"유형이어야합니다.

그래서 우리는 as.matrix ()의 작은 수정을 할 수 있습니다 :

as.big.matrix <- function(x) {
  nr <- x$nrow
  nc <- x$ncol
  # nr and nc are integers. 1 is double. Double * integer -> double
  y <- matrix(vector(typeof(x$v), 1 * nr * nc), nr, nc)
  y[cbind(x$i, x$j)] <- x$v
  dimnames(y) <- x$dimnames
  y
}




text unicode utf-8 character-set