Was ist der Unterschied zwischen Codepage und Zeichencodierung? [Duplikat]

9

Meine ASP.NET-Anwendung importiert CSV-Dateien. Sie werden meist in einer Tabelle oder einem Notizblock gespeichert, die nach einem Zeichensatz fragt, zum Beispiel: ISO-8859-2 , Windows-1210 , DOS-852 oder Unicode(UTF-8) .

Wiki sagt UTF-8 ist eine Zeichenkodierung, aber Windows-1210 und ISO-8859-2 sind Codepages. Sind diese Begriffe austauschbar?

.NET liest Dateien, die in UTF-8 gespeichert wurden. Erkennt es die Codierung selbst?

    
jlp 25.08.2010, 20:38
quelle

4 Antworten

3

Vielleicht möchten Sie Joel Spolskys Artikel und diesen Beitrag hier

    
StuartLC 25.08.2010, 20:48
quelle
1

Zitate aus dem Wiki:

" Die Codepage ist ein anderer Name für die Zeichencodierung. Sie besteht aus einer Wertetabelle, die den Zeichensatz für eine bestimmte Sprache beschreibt."

Ссылка

und:

"Windows-Codepages sind Gruppen von Zeichen oder Codepages ( bekannt als Zeichencodierungen in anderen Betriebssystemen ), die in Microsoft Windows-Systemen aus den 1980er und 1990er Jahren verwendet werden."

    
Lasse Espeholt 25.08.2010 20:42
quelle
1

Ich denke, es ist weitgehend historisch, aber es gibt eine klare Unterscheidung. Eine Codepage ist eine Nachschlagetabelle, wobei ein bestimmtes Byte einem bestimmten Zeichen zugeordnet ist. Unterschiedliche Codepages verwenden unterschiedliche Zuordnungen. In den alten Tagen wurden diese Abbildungen nicht wirklich durchgeführt. In diesem Fall mussten Sie auch Schriftarten mit Glyphen haben, die der Codepage entsprechen. Immer noch ein Problem heute, Konsolenfenster haben eine Codepage.

Es gibt keine Zuordnung in einer Unicode-Codierung. Sie müssen nur 32 Bits in ein effizientes Format komprimieren. Verschiedene Unicode-Codierungen verwenden verschiedene Möglichkeiten, um die Bits zu komprimieren. Das Zeichen hat immer einen festen Wert (Codepunkt in Unicode-Sprache).

UTF-codierte Textdateien sollten eine Stückliste enthalten, damit der Leser die Codierung automatisch erkennen kann. Für Textdateien, die mit einer Codepage codiert wurden, gibt es keine solche Konvention. Gute Texte daraus zu bekommen, ist ein bisschen scheiße. Es ist ein Übel, das schon sterben sollte:)

    
Hans Passant 25.08.2010 21:04
quelle
0

.NET-Klassen wie StreamReader haben standardmäßig die UTF-8-Codierung; Nein, es ist nicht magisch entdeckt.

    
Jerome 25.08.2010 21:38
quelle

Tags und Links