Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20162|Svare: 2

[Løst] StreamReader-løsning for utydelige tegn ved fillesing

[Kopier lenke]
Publisert på 13.04.2018 16:11:20 | | |
I dag, da jeg laget en åpen fil-dialog OpenFileDialog, måtte jeg lese den åpne filen og vise den i RichTextBox i formen. Men da filen ble vist, ble det oppdaget at den viste kinesiske strengen var forvrengt. De viktigste delene av koden er som følger:
Først trodde jeg også at det var et problem med tegnkodingen, så da jeg initialiserte StreamReader, la jeg til tegnkodingsparametrene, og la det til flere ganger, Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, jeg prøvde alle kodingsskjemaer som kunne legges til, men resultatet var ikke bra.


Opprinnelig brukte operativsystemet fra Windows 2000 og senere Unicode for filbehandling, så . Standard filkoding for .Net er også Unicode. Med mindre annet er spesifisert, er standardkodingen i StreamReader Unicode, ikke det nåværende systemets ANSI-kodeside. De fleste dokumentene er imidlertid fortsatt lagret i ANSI-koding, og kinesisk tekst bruker gb2312, noe som forårsaker kinesiske utydelige tegn, noe som betyr at kodingsformatet må spesifiseres når teksten leses.


Løsningen er: System.Text.Encoding.Default forteller StreamReader kodingen av det nåværende operativsystemet.






Foregående:.net/c# Xml, Json, Hessian, Protocol Buffers serialiseringssammenligning
Neste:.net/c# Bruk Costura.Fody for å pakke DLL-en inn i EXE-en
 Vert| Publisert på 13.04.2018 17:11:39 |
Dette innlegget ble sist redigert av QWERTYU 13.04.2018 kl. 17:18

Hvis det fortsatt ikke fungerer, kan serveren ha komprimert dataene, for eksempel med gzip må du først dekomprimere dataene.

Publisert på 19.04.2018 13:31:02 |
Hvis nettinnholdet komprimeres med gzip og innholdet er utydelig, finnes det to løsninger

Første løsning:

//
        Sammendrag:
        Finn eller sett typen dekompresjon som brukes.
        //
        Resultater fra retur:
        Et T:System.Net.DecompressionMethods-objekt som angir typen dekomprimering som brukes.
        //
        Anomali:
        T:System.InvalidOperationException:
        Objektets nåværende tilstand tillater ikke at denne egenskapen settes.
        public DecompressionMethods AutomaticDecompression { get; sett; }
Følgende kodelinje er ferdig, endringene er veldig små!!




Andre løsning:



Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com