|
|
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 vertailuSeuraava:.net/c# Käytä Costura.Fodya paketoidaksesi DLL:n EXE:hen
|