C#에서 파일 인코딩을 정확하게 식별
올바른 데이터 처리를 위해서는 파일의 인코딩을 정확하게 결정하는 것이 중요합니다. StreamReader.CurrentEncoding
은 때때로 실패하지만 보다 강력한 방법은 BOM(바이트 순서 표시)을 분석하는 것입니다. 메모장에서 사용되는 것과 유사한 이 접근 방식은 더 높은 정밀도를 제공합니다.
BOM(바이트 순서 표시) 활용
BOM이 있으면 인코딩 식별에 큰 도움이 됩니다. 다음 BOM 값은 특정 인코딩에 해당합니다.
BOM이 감지되지 않으면 오류 방지를 위해 코드가 기본적으로 ASCII로 설정됩니다.
BOM 분석을 위한 C# 코드 구현
다음 C# 코드는 BOM 기반 인코딩 감지를 보여줍니다.
<code class="language-csharp">public static Encoding GetEncoding(string filename) { byte[] bom = new byte[4]; using (FileStream file = new FileStream(filename, FileMode.Open, FileAccess.Read)) { file.Read(bom, 0, 4); } // BOM analysis logic (see complete implementation below) return Encoding.ASCII; // Default to ASCII if no BOM is found }</code>
이 함수는 파일의 초기 바이트를 효율적으로 읽고 이를 사용하여 인코딩을 결정합니다. 그런 다음 BOM 분석의 완전한 구현이 이어지며 각 BOM 케이스를 개별적으로 처리하여 적절한 Encoding
객체를 반환합니다. 이를 통해 다양한 텍스트 파일 형식에서 안정적인 인코딩 감지가 보장됩니다.
위 내용은 C#에서 파일의 인코딩을 정확하게 판별하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!