Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 20162|Vastaus: 2

[Ratkaistu] StreamReader-ratkaisu sekaville merkeille tiedostoja lukiessa

[Kopioi linkki]
Julkaistu 13.4.2018 16.11.20 | | |
Tänään, kun tein Open File -dialogia OpenFileDialog, minun piti lukea avoin tiedosto ja näyttää se RichTextBoxissa lomakkeessa. Kuitenkin, kun tiedostoa näytettiin, havaittiin, että näytetty kiinalainen merkkijono oli sekava. Koodin keskeiset osat ovat seuraavat:
Aluksi ajattelin myös, että merkkikoodauksessa oli ongelma, joten kun aloitin StreamReaderin, lisäsin siihen merkin koodausparametrit ja useita kertoja: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, kokeilin kaikkia lisättäviä koodausmenetelmiä, mutta tulos ei ollut hyvä.


Alun perin Windows 2000:n ja myöhemmän käyttöjärjestelmä käytti Unicodea tiedostojen käsittelyyn, joten . .Netin oletustiedostokoodaus on myös Unicode. Ellei toisin mainita, StreamReaderin oletuskoodaus on Unicode, ei nykyisen järjestelmän ANSI-koodisivu. Suurin osa asiakirjoista on kuitenkin edelleen tallennettu ANSI-koodaukseen, ja kiinalainen teksti käyttää gb2312:ta, mikä aiheuttaa kiinalaisia merkkejä sekavasti, mikä tarkoittaa, että koodausmuoto on määriteltävä tekstiä lukiessa.


Kiertotie on: System.Text.Encoding.Default kertoo StreamReaderille nykyisen käyttöjärjestelmän koodauksen.






Edellinen:.net/c# Xml, Json, Hessian, Protokollapuskurien sarjoittamisen vertailu
Seuraava:.net/c# Käytä Costura.Fodya paketoidaksesi DLL:n EXE:hen
 Vuokraisäntä| Julkaistu 13.4.2018 17.11.39 |
Tätä julkaisua muokasi viimeksi QWERTYU 13.4.2018 klo 17:18

Jos se ei vieläkään toimi, palvelin on saattanut pakata tiedot, esimerkiksi gzip, sinun täytyy purkaa data ensin.

Julkaistu 19.4.2018 13.31.02 |
Jos verkkosisältö pakataan gzipillä ja sisältö on sekavaa, on kaksi ratkaisua

Ensimmäinen ratkaisu:

//
        Yhteenveto:
        Valitse tai aseta käytettävän dekompression tyyppi.
        //
        Palautustulokset:
        T:System.Net.DecompressionMethods -objekti, joka ilmaisee käytetyn purkutyypin.
        //
        Poikkeama:
        T:System.InvalidOperationException:
        Objektin nykyinen tila ei salli tämän ominaisuuden asettamista.
        public DecompressionMethods AutomaticDecompression { get; setti; }
Seuraava koodirivi on tehty, muutokset ovat hyvin pieniä!!




Toinen ratkaisu:



Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com