|
|
Publicerad på 2018-04-13 16:11:20
|
|
|

Idag, när jag skapade en öppen fil-dialog OpenFileDialog, behövde jag läsa den öppna filen och visa den i RichTextBox i formuläret. Men när filen visades visade visade det sig att den visade kinesiska strängen var förvrängd. De viktigaste delarna av koden är följande:
Först trodde jag också att det fanns ett problem med teckenkodningen, så när jag initierade StreamReader lade jag till teckenkodningsparametrarna och lade till flera gånger, Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, jag provade alla kodningsscheman som kunde läggas till, men resultatet blev inte bra.
Ursprungligen använde operativsystemet från Windows 2000 och senare Unicode för filbehandling, så . Standardfilkodningen för .Net är också Unicode. Om inget annat anges är standardkodningen av StreamReader Unicode, inte det nuvarande systemets ANSI-kodsida. De flesta dokumenten lagras dock fortfarande i ANSI-kodning, och kinesisk text använder gb2312, vilket orsakar kinesiska förvrängda tecken, vilket innebär att kodningsformatet måste specificeras vid läsning av texten.
Lösningen är: System.Text.Encoding.Default berättar för StreamReader om kodningen av det aktuella operativsystemet.
|
Föregående:.net/c# Xml, Json, Hessian, Protocol Buffers serialiseringsjämförelseNästa:.net/c# Använd Costura.Fody för att paketera DLL:n till EXE:n
|