El juicio preciso de la codificación de cadenas es crucial para procesar datos de texto de diferentes fuentes. Este artículo explorará cómo lograr este objetivo de manera eficiente en C#.
Hay varias formas de determinar la codificación de una cadena sin una declaración explícita:
combina los tres métodos para determinar la codificación de una cadena, primero de la cual es la detección de BOM. Si no se encuentra el BOM, el código usa un detector para identificar heurísticamente codificaciones comunes como UTF-8 y UTF-16. Finalmente, si no se encuentra una codificación adecuada, volverá a la página de código predeterminada del sistema.
Este código no solo detecta la codificación, sino que también devuelve el texto decodificado para proporcionar la información requerida en su totalidad.
El siguiente código C# implementa esta solución:
public Encoding detectTextEncoding(string filename, out String text, int taster = 1000)
{
// 检查BOM
// 为简洁起见省略
// 基于探测器的编码检测
bool utf8 = false;
int i = 0;
while (i
Para usar este código, proporcione la ruta del archivo como la cadena y recupere el texto encodado y decodificado detectado como los parámetros de salida. Aquí hay un ejemplo:
`` `C# texto de cadena; Codificación codificación = detectTextEncoding ("my_file.txt", out texto); Console.WriteLine ("Codificación detectada:" codificación.EncodingName); Console.WriteLine ("Texto decodificado:" Texto); `` `` ``En general, este código proporciona una forma poderosa de determinar la codificación de cadenas en C#, aprovechando las verificaciones de BOM y heurística para garantizar una detección precisa.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3