Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 20162|Svar: 2

[Løst] StreamReader-løsning til forvrængede tegn ved fillæsning

[Kopier link]
Opslået på 13/04/2018 16.11.20 | | |
I dag, da jeg lavede en Open File-dialog, OpenFileDialog, skulle jeg læse den åbne fil og vise den i RichTextBox i formularen. Men da filen blev vist, blev det konstateret, at den viste kinesiske streng var forvansket. De vigtigste dele af koden er som følger:
Først troede jeg også, at der var et problem med tegnkodningen, så da jeg initialiserede StreamReader, tilføjede jeg tegnkodningsparametrene til den, og tilføjede den flere gange, Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, jeg prøvede alle kodningsmetoder, der kunne tilføjes, men resultatet var ikke godt.


Oprindeligt brugte operativsystemet fra Windows 2000 og senere Unicode til filbehandling, så . Standardfilkodningen for .Net er også Unicode. Medmindre andet er angivet, er standardkodningen af StreamReader Unicode, ikke det nuværende systems ANSI-kodeside. Dog er de fleste dokumenter stadig lagret i ANSI-kodning, og kinesisk tekst bruger gb2312, hvilket forårsager kinesiske forvrængede tegn, hvilket betyder, at kodningsformatet skal specificeres, når teksten læses.


Løsningen er: System.Text.Encoding.Default fortæller StreamReader kodningen af det aktuelle operativsystem.






Tidligere:.net/c# Xml, Json, Hessian, Protocol Buffers serialiseringssammenligning
Næste:.net/c# Brug Costura.Fody til at pakke DLL'en ind i EXE'en
 Udlejer| Opslået på 13/04/2018 17.11.39 |
Dette indlæg blev sidst redigeret af QWERTYU den 13-4-2018 kl. 17:18

Hvis det stadig ikke virker, kan serveren have komprimeret dataene, hvis man tager gzip som eksempel, skal du først dekomprimere dataene.

Opslået på 19/04/2018 13.31.02 |
Hvis webindholdet komprimeres med gzip, og indholdet er forvrænget, er der to løsninger

Første løsning:

//
        Resumé:
        Få eller indstil den type dekompression, der bruges.
        //
        Resultater tilbage:
        Et T:System.Net.DecompressionMethods-objekt, der angiver, hvilken type dekompression der bruges.
        //
        Anomali:
        T:System.InvalidOperationException:
        Objektets nuværende tilstand tillader ikke, at denne egenskab sættes.
        public DecompressionMethods AutomaticDecompression { get; sat; }
Følgende kodelinje er udført, ændringerne er meget små!!




Anden løsning:



Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com