2013-04-20 4 views
0

파일 인코딩을 결정하기가 어렵습니다. 하지만 C++에서이 문제를 해결하는 방법이 있습니까? MB 부스트 않는 (나는 어떤 적절한 찾지 못했습니까?).C++은 인코딩에 따라 텍스트 파일을 읽습니다.

파일의 인코딩을 결정하고 첫 번째 줄을 적절한 로케일 문자열로 읽어야합니다.

답변

0

괜찮은 해결책이 있는지 의심 스럽습니다. 나는 설명하려고 노력할 것이다. 인코딩이 파일에 있어야한다는 것을 알면 인코딩 만 정의 할 수 있습니다. 그런 다음 파일을 다르게 변환하고 결과가 예상 한 것처럼 보이는지 확인하려고 할 수 있습니다. 러시아어 인코딩 테이블을 예제로 취한 경우. KOI-8, CP1251, CP866과 같은 모든 유형의 변형을 가지고 있으며 그 끝은 아닙니다.). 모든 인코딩에는 러시아어 심볼에 대한 매핑이 다르므로 텍스트 파일을 가져 와서 올바른 데이터 대신 인코딩을 잘못 해석하면 단어/공백 및 ASCII 테이블 하위 부분이 절대적으로 잘 보이지만 절대적으로 다른 글자로 된 단어를 갖게됩니다 .

UTF8/16 등에서는 감지 할 수 없지만 입력 파일에 불법 시퀀스가 ​​없는지 확인할 수 있으므로 특정 인코딩을 사용하여 입력 파일을 처리 할 수 ​​있습니다.

나는 최상의 옵션이 먼저 특정 기준에 따라 탐지 알고리즘을 감지하고 디자인 할 계획 인 인코딩의 하위 집합을 정의하려고 할 것이라고 생각합니다.

관련 문제