Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20162|Svar: 2

[Löst] StreamReader-lösning för förvrängda tecken vid filläsning

[Kopiera länk]
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örelse
Nästa:.net/c# Använd Costura.Fody för att paketera DLL:n till EXE:n
 Hyresvärd| Publicerad på 2018-04-13 17:11:39 |
Detta inlägg redigerades senast av QWERTYU den 13-04-2018 kl. 17:18

Om det fortfarande inte fungerar kan servern ha komprimerat datan, ta gzip som exempel, du behöver först dekomprimera datan.

Publicerad på 2018-04-19 13:31:02 |
Om webbinnehållet komprimeras med gzip och innehållet är förvrängt finns det två lösningar

Första lösningen:

//
        Sammanfattning:
        Skaffa eller ställ in vilken typ av dekompression som ska användas.
        //
        Resultat för retur:
        Ett T:System.Net.DecompressionMethods-objekt som anger vilken typ av dekomprimering som används.
        //
        Anomali:
        T:System.InvalidOperationException:
        Objektets nuvarande tillstånd tillåter inte att denna egenskap sätts.
        public DecompressionMethods AutomaticDecompression { get; set; }
Följande kodrad är gjord, förändringarna är väldigt små!!




Andra lösningen:



Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com