Die genaue Bestimmung der String-Kodierung ist für die Verarbeitung von Textdaten aus verschiedenen Quellen von entscheidender Bedeutung. In diesem Artikel wird untersucht, wie Sie dies in C# effizient erreichen können.
Es gibt mehrere Möglichkeiten, die Kodierung einer Zeichenfolge zu bestimmen, ohne sie explizit anzugeben:
Der bereitgestellte Code kombiniert alle drei Methoden, um die Codierung einer Zeichenfolge zu bestimmen, beginnend mit der Stücklistenerkennung. Wenn die Stückliste nicht gefunden wird, verwendet der Code Detektoren, um gängige Codierungen wie UTF-8 und UTF-16 heuristisch zu identifizieren. Wenn schließlich keine geeignete Codierung gefunden wird, wird auf die Standardcodepage des Systems zurückgegriffen.
Dieser Code erkennt nicht nur die Kodierung, sondern gibt auch den dekodierten Text zurück, um die erforderlichen Informationen vollständig bereitzustellen.
Der folgende C#-Code implementiert diese Lösung:
<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>
Um diesen Code zu verwenden, geben Sie den Dateipfad als Zeichenfolge an und rufen Sie die erkannte Kodierung und den dekodierten Text als Ausgabeparameter ab. Hier ist ein Beispiel:
```c# Zeichenfolgentext; Kodierungkodierung = discoverTextEncoding("my_file.txt", out text); Console.WriteLine("Erkannte Kodierung: "kodierung.EncodingName); Console.WriteLine("Dekodierter Text: " text); „Zusammenfassend bietet dieser Code eine leistungsstarke Möglichkeit, die Codierung einer Zeichenfolge in C# zu bestimmen, indem Stücklisten- und heuristische Prüfungen verwendet werden, um eine genaue Erkennung sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Codierung einer Zeichenfolge in C# effizient erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!