Ich habe ein Problem mit der Konvertierung einer Textdatei von ANSI zu UTF8 in C#. Ich versuche, die Ergebnisse in einem Browser anzuzeigen.Konvertieren von Problem ANSI zu UTF8 C#
So habe ich eine Textdatei mit vielen Akzent-Zeichen drin. Es ist in ANSI kodiert, also muss ich es in utf8 umwandeln, weil im Browser statt der Akzentzeichen "?" Erscheint. Egal, wie ich versuchte, zu UTF8 zu konvertieren, es war immer noch ein "?". Aber wenn ich die Textdatei in notepad ++ in utf8 umwandele, werden die Akzentzeichen gut wiedergegeben.
hier ist ein Frieden von Codierung Code, den ich gemacht:
public string Encode(string text)
{
// encode the string as an ASCII byte array
byte[] myASCIIBytes = ASCIIEncoding.ASCII.GetBytes(text);
// convert the ASCII byte array to a UTF-8 byte array
byte[] myUTF8Bytes = ASCIIEncoding.Convert(ASCIIEncoding.ASCII, UTF8Encoding.UTF8, myASCIIBytes);
// reconstitute a string from the UTF-8 byte array
return UTF8Encoding.UTF8.GetString(myUTF8Bytes);
}
Sie haben keine Ahnung, warum dies geschieht?
ASCII die Codierung 7-Bit w/o-Code-Seite, wie Andrey erklärt. Wenn es Akzentzeichen enthält, sollten Sie kein ASCII verwenden. –