이 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