텍스트 파일의 인코딩 찾기

텍스트 파일의 인코딩 찾기

iconv명령은 파일 인코딩을 변경할 수 있습니다. 그런데 텍스트 파일의 파일 인코딩을 찾는 명령이 있나요? 추가적으로 각 국가에서 사용하는 파일 인코딩 표준을 찾아보려고 합니다. 이렇게 하면 인코딩을 올바른 것으로 변경할 수 있습니다.국제 표준화기구기준.

파일 인코딩을 찾을 수 있는 명령은 무엇입니까?. txt확장하다. 또는 기타.py, 또는. 씨, 소스 코드 파일?

그런 다음 올바른 국가 코드로 변경하세요. 국가 표준을 기준으로 합니다. 올바른 엔디안 형식 및 기타 관련 문서에 대한 참조를 찾으려고 합니다.

미국에서 생성되고 러시아어 형식의 UTF-8 텍스트 파일을 만듭니다. 마치 러시아어 형식 호환성으로 만들어진 것 같습니다.

답변1

사용 file. 자세한 내용 은 file(1)매뉴얼 페이지를 참조하세요 magic(5). 다음은 몇 가지 예입니다.

다양한 유형의 파일 묶음을 디렉토리에 복사했습니다.

$ ls -l 
total 389
-rw-r--r-- 1 cas cas 372976 Apr 24 19:09 a.txt
-rw-r--r-- 1 cas cas     14 Apr 24 19:09 b.txt
-rw-r--r-- 1 cas cas  12060 Apr 24 19:09 c.h
-rwxr-xr-x 1 cas cas   5706 Apr 24 19:09 d.sh*
-rwxr-xr-x 1 cas cas    197 Apr 24 19:09 e.pl*
-rw-r--r-- 1 cas cas      6 Apr 24 19:09 f.txt
-rwxr-xr-x 1 cas cas 203072 Apr 24 19:09 g*
-rwxr-xr-x 1 cas cas  79984 Apr 24 19:09 h.c
-rw-r--r-- 1 cas cas   2975 Apr 24 19:09 i.py
-rw-r--r-- 1 cas cas    648 Apr 24 19:09 j.csv

file/etc/magic최선의 추측은 다음에서 발견된 패턴을 사용하여 이루어집니다.

$ file *
a.txt: UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators
b.txt: Little-endian UTF-16 Unicode text, with no line terminators
c.h:   C++ source, ASCII text
d.sh:  Bourne-Again shell script, ASCII text executable
e.pl:  Perl script text executable
f.txt: ASCII text
g:     ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4bb4d8a0059d50d87638057168576f5ef205efd4, for GNU/Linux 3.2.0, stripped
h.c:   C source, ASCII text, with CRLF line terminators
i.py:  Python script, ASCII text executable
j.csv: CSV text

이 파일의 경우 100% 정확했습니다. 완벽하게 식별되었습니다. 이는 대부분 사실이지만 완벽하지는 않으며 때로는 잘못될 수도 있습니다.

파일 이름의 "확장자"(.txt, .py, .c 등) 는 상관하지 file않으며 파일 내용을 검사하여 그것이 무엇인지 확인합니다.

또한 어떤 유형의 무언극인지 알려줄 수도 있습니다.

$ file --mime-type *
a.txt: text/plain
b.txt: text/plain
c.h:   text/x-c++
d.sh:  text/x-shellscript
e.pl:  text/x-perl
f.txt: text/plain
g:     application/x-pie-executable
h.c:   text/x-c
i.py:  text/x-script.python
j.csv: application/csv

그리고 그들이 사용하는 인코딩은 무엇입니까?

$ file --mime-encoding *
a.txt: utf-8
b.txt: utf-16le
c.h:   us-ascii
d.sh:  us-ascii
e.pl:  us-ascii
f.txt: us-ascii
g:     binary
h.c:   us-ascii
i.py:  us-ascii
j.csv: us-ascii

관련 정보