Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20162|Antwoord: 2

[Opgelost] StreamReader-oplossing voor onverstaanbare tekens bij het lezen van bestanden

[Link kopiëren]
Geplaatst op 13-04-2018 16:11:20 | | |
Vandaag, toen ik een Open File-dialoog OpenFileDialog aan het maken was, moest ik het open bestand lezen en weergeven in de RichTextBox in het formulier. Bij het weergeven van het bestand bleek echter dat de weergegeven Chinese string vervormd was. De belangrijkste onderdelen van de code zijn als volgt:
In het begin dacht ik ook dat er een probleem was met de tekencodering, dus toen ik StreamReader initialiseerde, voegde ik de tekencoderingsparameters toe, en voegde het meerdere keren toe: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, ik probeerde alle coderingsschema's die toegevoegd konden worden, maar het resultaat was niet goed.


Oorspronkelijk gebruikte het besturingssysteem van Windows 2000 en later Unicode voor bestandsverwerking, dus . De standaard bestandscodering voor .Net is ook Unicode. Tenzij anders gespecificeerd, is de standaardcodering van StreamReader Unicode, niet de ANSI-codepagina van het huidige systeem. De meeste documenten worden echter nog steeds opgeslagen in ANSI-codering, en Chinese tekst gebruikt gb2312, wat leidt tot Chinese onverstaanbare tekens, wat betekent dat het coderingsformaat moet worden gespecificeerd bij het lezen van de tekst.


De oplossing is: System.Text.Encoding.Default vertelt de StreamReader de codering van het huidige besturingssysteem.






Vorig:.net/c# Xml, Json, Hessian, Protocol Buffers serialisatievergelijking
Volgend:.net/c# Gebruik Costura.Fody om de DLL in de EXE te verpakken
 Huisbaas| Geplaatst op 13-04-2018 17:11:39 |
Dit bericht is voor het laatst bewerkt door QWERTYU op 13-4-2018 om 17:18

Als het nog steeds niet werkt, kan het zijn dat de server de data heeft gecomprimeerd; neem gzip als voorbeeld, je moet de data eerst decomprimeren.

Geplaatst op 19-04-2018 13:31:02 |
Als de webinhoud is gecomprimeerd met gzip en de inhoud is verstoord, zijn er twee oplossingen

Eerste oplossing:

//
        Samenvatting:
        Bepaal of bepaal het type decompressie dat gebruikt wordt.
        //
        Retourresultaten:
        Een T:System.Net.DecompressionMethods-object dat het type gebruikte decompressie aangeeft.
        //
        Anomalie:
        T:System.InvalidOperationException:
        De huidige toestand van het object staat niet toe dat deze eigenschap wordt ingesteld.
        publieke DecompressionMethoden AutomaticDecompression { get; set; }
De volgende regel code is voltooid, de veranderingen zijn heel klein!!




Tweede oplossing:



Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com