Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 20162|Respuesta: 2

[Resuelto] Solución StreamReader para caracteres distorsionados al leer archivos

[Copiar enlace]
Publicado en 13/4/2018 16:11:20 | | |
Hoy, cuando estaba creando un diálogo de Abrir ArchivoAbierto, necesitaba leer el archivo abierto y mostrarlo en el RichTextBox del formulario. Sin embargo, al mostrar el archivo, se encontró que la cadena china mostrada estaba distorsionada. Las partes clave del código son las siguientes:
Al principio, también pensé que había un problema con la codificación de caracteres, así que cuando inicialicé StreamReader, añadí los parámetros de codificación de caracteres y los añadí varias veces: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, probé todos los esquemas de codificación que se podían añadir, pero el resultado no fue bueno.


Originalmente, el sistema operativo desde Windows 2000 y posteriores usaba Unicode para el procesamiento de archivos, por lo que . La codificación predeterminada de archivos para .Net también es Unicode. Salvo que se especifique lo contrario, la codificación predeterminada de StreamReader es Unicode, no la página de códigos ANSI del sistema actual. Sin embargo, la mayoría de los documentos siguen almacenándose en codificación ANSI, y el texto chino utiliza gb2312, lo que provoca caracteres distorsionados en chino, lo que significa que el formato de codificación debe especificarse al leer el texto.


La solución alternativa es: System.Text.Encoding.Default indica al StreamReader la codificación del sistema operativo actual.






Anterior:Comparación de serialización de XML, Json, Hessian, búferes de protocolo
Próximo:.net/c# Usa Costura.Fody para empaquetar la DLL en el EXE
 Propietario| Publicado en 13/4/2018 17:11:39 |
Esta publicación fue editada por última vez por QWERTYU el 13-4-2018 a las 17:18

Si sigue sin funcionar, el servidor puede haber comprimido los datos, tomando gzip como ejemplo, primero necesitas descomprimir los datos.

Publicado en 19/4/2018 13:31:02 |
Si el contenido web se comprime con gzip y el contenido se distorsiona, hay dos soluciones

Primera solución:

//
        Resumen:
        Consigue o configura el tipo de descompresión que se utiliza.
        //
        Resultados de los resultados:
        Un objeto T:System.Net.DecompressionMethods que indica el tipo de descompresión utilizado.
        //
        Anomalía:
        T:System.InvalidOperationException:
        El estado actual del objeto no permite establecer esta propiedad.
        Public DecompressionMethods Automatic Decompression { get; set; }
Se realiza la siguiente línea de código¡, los cambios son muy pequeños!




Segunda solución:



Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com