AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Unterschied zwischen Codepage und Character Set?

Unterschied zwischen Codepage und Character Set?

Ein Thema von Ganymed · begonnen am 5. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2   
Ganymed

Registriert seit: 11. Jun 2003
Ort: Hameln
56 Beiträge
 
Delphi 7 Architect
 
#1

Unterschied zwischen Codepage und Character Set?

  Alt 5. Sep 2007, 07:38
Hallo!

Was ist der Unterschied zwischen einer Codepage und einem Character Set? Und in welcher Beziehung stehen beide zueinander?

Danke im Voraus

Ganymed
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Unterschied zwischen Codepage und Character Set?

  Alt 5. Sep 2007, 09:04
Character Set = Zeichensatz z.B. ASCCI oder EBCDIC
Jeder Zeichensatz hat dann fast immer verschiedene Codepages, da die Anzahl der möglichen Zeichen nicht für alle Länder und Sprachen ausreichen.
2 Codepages aus der gleichen Familie (Zeichensatz) sind zu grossen Teilen identisch und unterscheiden sich meistens nur bei Zeichen, die über #128 liegen.

Unicode braucht als einziger Zeichensatz keine verschiedenen Codepages, da er (fast) alle Zeichen der Welt aufnehmen kann.
Andreas
  Mit Zitat antworten Zitat
Ganymed

Registriert seit: 11. Jun 2003
Ort: Hameln
56 Beiträge
 
Delphi 7 Architect
 
#3

Re: Unterschied zwischen Codepage und Character Set?

  Alt 6. Sep 2007, 14:57
Auch nachdem ich nun mehrere Tage darüber nachgedacht habe, habe ich deine Antwort immer noch nicht verstanden.

Ich habe noch ein wenig recherchiert, konnte aber kaum brauchbaren Informationen finden.

Interessantes fand ich in der Delphi-Hilfe zum Typen TFontCharset (Auszug):
Zitat:
Der Typ TFontCharset repräsentiert den Zeichensatz für eine Schrift.
[...]
Jede Windows-Schriftart unterstützt einen oder mehrere Zeichensätze. Der jeweilige Zeichensatz ist von der verwendeten Schrift abhängig. Welche Schriftarten unterstützt werden, erfahren Sie beim jeweiligen Hersteller.

Die folgenden Tabelle enthält die vordefinierten Konstanten für Standard-Zeichensätze:

Konstante | Wert | Beschreibung
ANSI_CHARSET | 0 | ANSI-Zeichen.
DEFAULT_CHARSET | 1 | Die Auswahl der Schrift erfolgt der Basis der Eigenschaften Name und Size. Wenn die betreffende Schrift auf dem System nicht verfügbar ist, verwendet Windows eine andere Schrift.
GB2312_CHARSET | 134 | Vereinfachte chinesische Zeichen (Festlandchina).
CHINESEBIG5_CHARSET | 136 | Traditionelle chinesische Zeichen (Taiwan).
GREEK_CHARSET | 161 | Griechische Zeichen. Auf NT 3.51-Systemen nicht verfügbar.
TURKISH_CHARSET | 162 | Türkische Zeichen. Auf NT 3.51-Systemen nicht verfügbar.
VIETNAMESE_CHARSET | 163 | Vietnamesische Zeichen. Auf NT 3.51-Systemen nicht verfügbar.
RUSSIAN_CHARSET | 204 | Kyrillische Zeichen. Auf NT 3.51-Systemen nicht verfügbar.
THAI_CHARSET | 222 | Thailändische Zeichen. Auf NT 3.51-Systemen nicht verfügbar.
EASTEUROPE_CHARSET | 238 | Enthält diakritische Zeichen für osteuropäische Länder. Auf NT 3.51-Systemen nicht verfügbar.
[...]
Will heißen: ASCII kennt 128 Zeichen (wegen 7Bit und so). Wenn aber eine Schriftart (z.B. Arial) alle Zeichen/Buchstaben aller Sprachen beinhalten soll, kommt sie damit nicht hin. Ergo wird die Schriftart in "Zeichensätze" unterteilt (ich stelle mir das jetzt wirklich bildlich vor, wie ich einen Kasten mit lateinischen Buchstabenklötzchen habe, einen mit cyrillischen Klötzchen und einen mit chinesischen; in jeden Kasten passen 128 Klötzchen, die alle zur gleichen Schriftart gehören).

Jetzt ziehe ich noch folgende Tabelle aus der Multilizer [http://www.multilizer.com] Dokumentation:
Zitat:
The following table contains the code pages and charsets of Windows and their corresponding languages.
Code Page | Charset | Languages
874 | 222 | Thai
932 | 128 | Japanese
936 | 134 | Chinese (Simplified)
949 | 129, 130 | Korean
950 | 136 | Chinese (Traditional)
1250 | 238 | Albanian, Croatian, Czech, Hungarian, Polish, Romanian, Serbian (Latin), Slovakian, Slovene
1251 | 204 | Belarussian, Bulgarian, Russian, Serbian (Cyrillic), Ukrainian
1252 | 0 | Afrikaans, Basque, Catalan, Danish, Dutch, English, Faeroese, Finnish, French, German, [...]
1253 | 161 | Greek
1254 | 162 | Turkish
1255 | 177 | Hebrew
1256 | 178 | Arabic, Farsi
1257 | 186 | Estonian, Latvian and Lithuanian
1258 | 163 | Vietnamese
Darin kann man -wer hätte das gedacht- in der Spalte "Charset" die Werte aus der TFontCharset-Docu wiederfinden. So hat der griechische Zeichensatz GREEK_CHARSET (161) die CodePage 1253.

CodePage und CharSet scheinen also in einer 1:1-Beziehung zu stehen.

Und sofern ich die Funktion des Character Sets richtig gedeutet habe, bliebe also die Frage, was denn nun eine CodePage (außer dass man sie bei Windows unter "Regions- und Sprachoptionen" einstellen kann) ist und was sie mit dem Charset zu tun hat...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.056 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 07:27
Am besten du vergisst Codepages/Charsets und befasst dich gleich mit Unicode und setzt Unicode-Conrols wie das Elpack oder die TMS Unicode Controls ein, denn Codepages/Charsets werden nicht von allen Controls unterstützt und auch manche Zeichen einer Sprache kannst du damit nicht darstellen bzw. gemischte GUI's werden auch sehr schwierig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#5

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 07:44
Zitat von Bernhard Geyer:
Am besten du vergisst Codepages/Charsets und befasst dich gleich mit Unicode und setzt Unicode-Conrols wie das Elpack oder die TMS Unicode Controls ein [...]
Geht es Dir überhaupt um den Einsatz irgendwelcher Komponenten? Oder geht es Dir vielleicht darum, Druckoutput zu generieren?
In letzterem Fall wäre es etwas zu kurz geschossen, zu sagen, man solle Codepages und Charsets vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.056 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 08:05
Zitat von s-off:
Geht es Dir überhaupt um den Einsatz irgendwelcher Komponenten? Oder geht es Dir vielleicht darum, Druckoutput zu generieren?
In letzterem Fall wäre es etwas zu kurz geschossen, zu sagen, man solle Codepages und Charsets vergessen.
Wieso? Unsere Druckausgaben werden auch ohne Codepages/Charsets erledigt. Mussten jedoch selbst was stricken das der Markt nicht soviel hergibt und das was er hergibt Lizenztechnisch für uns ungeeignet war/ist.
Mit List&Label gibt es eine Unicode-Enabled Druckimplementierung die auch für Delphi gut geeignet ist (Kompos vorhanden).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 08:37
Zitat von Bernhard Geyer:
Mit List&Label gibt es eine Unicode-Enabled Druckimplementierung die auch für Delphi gut geeignet ist (Kompos vorhanden).
Wir setzen keine Komponenten ein. Wir erzeugen unseren PCL-Datenstrom bzw. Postscript selber.
Aber trotzdem danke für den Tipp; ist ggf. für den privaten Bereich ganz interessant.

Edit: Quote-Tag geschlossen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.056 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 08:44
Zitat von s-off:
Wir setzen keine Komponenten ein. Wir erzeugen unseren PCL-Datenstrom bzw. Postscript selber.
Aber trotzdem danke für den Tipp; ist ggf. für den privaten Bereich ganz interessant.
Und PCL/Postscript kennt keinen "Unicode-Mode"?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#9

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 08:56
Zitat von Bernhard Geyer:
Und PCL/Postscript kennt keinen "Unicode-Mode"?
Ähm, ich glaube, wir reden aneinander vorbei

Wie dem auch sei - ich wollte eigentlich nur sagen, dass wir im Druckbereich keine Drittkomponenten einsetzen, sondern alles selber machen. Es handelt sich dabei um ein seit knapp 20 Jahren wachsendes System. Aber das ist ja auch egal und vollkommen Off-Topic.

Was ich eigentlich - zum Thema - sagen wollte, ist, dass man, wenn man sich mit Druckausgaben beschäftigt, schon wissen sollte, worum es sich bei Codepages und Zeichensätzen handelt. Daher sagte ich auch, dass es in dem Fall etwas kurz geschossen sei, diese außen vor zu lassen.

Das, was Du sagst, ist schon alles korrekt so - also nichts für Ungut
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.056 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Unterschied zwischen Codepage und Character Set?

  Alt 13. Sep 2007, 09:59
Zitat von s-off:
Zitat von Bernhard Geyer:
Und PCL/Postscript kennt keinen "Unicode-Mode"?
Ähm, ich glaube, wir reden aneinander vorbei
Nicht unbedingt. PCL/Postscript wird ja sich auch weiterentwickelt haben so das u.U. dieses Problem auch gelöst wurde ohne Codepages/Charsets verwendet zu müssen, indem ähnlich wie bei HTML man mit Hex-Werten arbeiten kann.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf