See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 20162|Vastuse: 2

[Lahendatud] StreamReaderi lahendus segaste märkide jaoks failide lugemisel

[Kopeeri link]
Postitatud 13.04.2018 16:11:20 | | |
Täna, kui ma tegin Open File dialoogi OpenFileDialog, pidin avatud faili lugema ja kuvama selle RichTextBoxis vormis. Kuid faili kuvamisel avastati, et kuvatud hiina string oli segane. Koodi peamised osad on järgmised:
Alguses arvasin ka, et tähemärgi kodeerimisega on probleem, nii et kui StreamReaderi initsialiseerisin, lisasin sinna märgi kodeerimise parameetrid ja lisasin mitu korda: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, proovisin kõiki lisatud kodeerimisskeeme, kuid tulemus polnud hea.


Algselt kasutas Windows 2000 ja hilisema operatsioonisüsteem failitöötluseks Unicode'i, seega . .Net vaikimisi failikodeeringuks on samuti Unicode. Kui pole teisiti märgitud, on StreamReaderi vaikimisi kodeeringuks Unicode, mitte praeguse süsteemi ANSI koodileht. Kuid enamik dokumente on endiselt salvestatud ANSI kodeeringusse ning hiina tekst kasutab gb2312, mis põhjustab hiina tähemärkide segadust, mis tähendab, et kodeerimisformaat tuleb teksti lugemisel täpsustada.


Lahendus on: System.Text.Encoding.Default ütleb StreamReaderile praeguse operatsioonisüsteemi kodeeringu.






Eelmine:.net/c# Xml, Json, Hessian, Protokollipuhvrite serialiseerimise võrdlus
Järgmine:.net/c# Kasuta Costura.Fodyt, et pakendada DLL EXE-sse
 Üürileandja| Postitatud 13.04.2018 17:11:39 |
Seda postitust toimetas viimati QWERTYU 13.04.2018 kell 17:18

Kui see ikka ei tööta, võib server olla andmed tihendanud, näiteks gzipi puhul, pead andmed esmalt lahti pakkima.

Postitatud 19.04.2018 13:31:02 |
Kui veebisisu tihendatakse gzipiga ja sisu on segane, on kaks lahendust

Esimene lahendus:

//
        Kokkuvõte:
        Vali või määra, millist tüüpi dekompressioon kasutatakse.
        //
        Tagastustulemused:
        T:System.Net.DecompressionMethods objekt, mis näitab kasutatavat dekompressiooni tüüpi.
        //
        Anomaalia:
        T:System.InvalidOperationException:
        Objekti praegune olek ei võimalda seda omadust määrata.
        public DecompressionMethods AutomaticDekompressioon { get; seatud; }
Järgmine koodirida on tehtud, muudatused on väga väikesed!!




Teine lahendus:



Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com