다양한 소스의 텍스트 데이터를 처리하려면 문자열 인코딩을 정확하게 결정하는 것이 중요합니다. 이 문서에서는 C#에서 이를 효율적으로 달성하는 방법을 살펴보겠습니다.
명시적으로 명시하지 않고 문자열의 인코딩을 결정하는 방법에는 여러 가지가 있습니다.
제공된 코드는 BOM 감지부터 시작하여 문자열 인코딩을 결정하는 세 가지 방법을 모두 결합합니다. BOM을 찾을 수 없는 경우 코드는 감지기를 사용하여 UTF-8 및 UTF-16과 같은 일반적인 인코딩을 경험적으로 식별합니다. 마지막으로, 적합한 인코딩이 발견되지 않으면 시스템의 기본 코드 페이지로 대체됩니다.
이 코드는 인코딩을 감지할 뿐만 아니라 디코딩된 텍스트를 반환하여 필요한 정보를 완전히 제공합니다.
다음 C# 코드는 이 솔루션을 구현합니다.
<code class="language-c#">public Encoding detectTextEncoding(string filename, out String text, int taster = 1000) { // 检查BOM // 为简洁起见省略 // 基于探测器的编码检测 bool utf8 = false; int i = 0; while (i < taster) { // 省略具体实现细节 } // ... (其余代码省略) }</code>
이 코드를 사용하려면 파일 경로를 문자열로 제공하고 감지된 인코딩 및 디코딩된 텍스트를 출력 매개변수로 검색합니다. 예는 다음과 같습니다.
``c# 문자열 텍스트; 인코딩 인코딩 = discoverTextEncoding("my_file.txt", out text); Console.WriteLine("감지된 인코딩: " 인코딩.EncodingName); Console.WriteLine("디코딩된 텍스트: " text); ````요약하자면, 이 코드는 정확한 감지를 보장하기 위해 BOM 및 휴리스틱 검사를 활용하여 C#에서 문자열 인코딩을 결정하는 강력한 방법을 제공합니다.
위 내용은 C#에서 문자열 인코딩을 효율적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!