내 파일 시스템 (Windows 7)에 텍스트 파일이 있습니다 (중요한 경우 SQL 스크립트 파일입니다).
Notepad ++로 열면 "인코딩"메뉴에서 일부는 "UCS-2 Little Endian"으로 인코딩되고 일부는 "UTF-8없는 BOM"으로 인코딩됩니다.
차이점은 무엇입니까? 그것들은 모두 완벽하게 유효한 스크립트 인 것 같습니다. 메모장 ++없이 파일에 어떤 인코딩이 있는지 어떻게 알 수 있습니까?
enca
및 chardet
POSIX 시스템.
iconv
특히이 목적에 유용합니다. 본질적으로 다른 인코딩을 통해 손상된 문자 문자열 / 텍스트를 반복하여 어떤 인코딩이 작동하는지 확인하십시오. 캐릭터가 더 이상 손상되지 않으면 승리합니다. 프로그래밍 방식으로 여기에 대답하고 싶습니다. 그러나 불행히도 보호되는 질문입니다.
chardet
또는 chardetect
(예를 들어, 사용자의 시스템에서 사용할 수 없습니다, 당신은 패키지 관리자를 통해 패키지를 설치할 수 있습니다 apt search chardet
- 패키지가 보통이라고 우분투 / 데비안 python-chardet
또는 python3-chardet
) 또는 통해 PIP 와 pip install chardet
(또는 pip install cchardet
빠른 C에 최적화 된 버전).