|
|
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 serialisatievergelijkingVolgend:.net/c# Gebruik Costura.Fody om de DLL in de EXE te verpakken
|