Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 20162|Válasz: 2

[Megoldva] StreamReader megoldás a zavaros karakterekre fájlok olvasása közben

[Linket másol]
Közzétéve 2018. 04. 13. 16:11:20 | | |
Ma, amikor OpenFileDialog párbeszédet készítettem, el kellett olvasnom a nyílt fájlt, és megjelenítenem a RichTextBoxban az űrlapon. Azonban a fájl megjelenítésekor kiderült, hogy a megjelenített kínai string összezavarodott. A kódex kulcsfontosságú részei a következők:
Eleinte azt is gondoltam, hogy probléma van a karakterkódolással, ezért amikor inicializáltam a StreamReadert, hozzáadtam hozzá a karakterkódolási paramétereket, és többször is hozzáadtam: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, minden hozzáadható kódolási sémát kipróbáltam, de az eredmény nem volt jó.


Eredetileg a Windows 2000 és későbbi operációs rendszer Unicode-ot használt fájlfeldolgozásra, tehát . A .Net alapértelmezett fájlkódolása szintén az Unicode. Ha nincs másként megadva, a StreamReader alapértelmezett kódolása Unicode, nem pedig a jelenlegi rendszer ANSI kódlapja. Azonban a dokumentumok többsége továbbra is ANSI kódolásban van tárolva, és a kínai szöveg gb2312-t használ, ami kínai karakterek zavart megjelenését eredményezi, ami azt jelenti, hogy a kódolási formátumot meg kell határozni a szöveg olvasásakor.


A megoldás a következő: System.Text.Encoding.Default jelzi a StreamReadernek a jelenlegi operációs rendszer kódolását.






Előző:.net/c# Xml, Json, Hessian, Protokollpufferek serializációs összehasonlítása
Következő:.net/c# Használd a Costura.Fody fájlt a DLL becsomagolásához az EXE-be
 Háziúr| Közzétéve 2018. 04. 13. 17:11:39 |
Ezt a bejegyzést utoljára a QWERTYU szerkesztette: 2018-4-13, 17:18

Ha még mindig nem működik, a szerver összetömörítette az adatokat, például a gzip-et említve, előbb ki kell bontani az adatokat.

Közzétéve 2018. 04. 19. 13:31:02 |
Ha a webes tartalmat gzip-szel tömörítik, és a tartalom összekeveredik, két megoldás létezik

Első megoldás:

//
        Összefoglalás:
        Szerezd meg vagy állítsd be, milyen típusú dekompressziót használsz.
        //
        Visszaküldési eredmények:
        Egy T:System.Net.DecompressionMethods objektum, amely jelzi a használt dekompresszió típusát.
        //
        Anomália:
        T:System.InvalidOperationException:
        Az objektum jelenlegi állapota nem teszi lehetővé ennek a tulajdonságnak a beállítását.
        public decompressionMethods automaticDecompression { get; Szett; }
A következő kódsor következik, a változások nagyon kicsik!!




Második megoldás:



Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com