Artikel über Zeichensätze [vergeben]
-
Hallo Jochen,
Jochen Kalmbach schrieb:
Ich könnte mir vorstellen hier was zu machen... könnte auch die Brücke zu C++ und WinAPI / .NET schlagen... aber das wäre zu speziell und es wäre gut wenn jemand aus dem Linux/Unix/Mac-Lager noch was zu dieser Seite schreiben könnte...
Hm... Zeichensätze sind ja, wie tommie-lie sagte, etwas plattforumunabhängiges. Eigentlich interessiert es nichtmal ob C++ oder Brainfuck... Daher die Frage: Wie sähe die Verbindung zw. Zeichensätzen und C++ aus? Was stellst du dir vor?
Mir fällt nämlich nichts konkretes dazu ein und Ich lass mich gerne erleuchtenGrüße
GPC
-
GPC schrieb:
Wie sähe die Verbindung zw. Zeichensätzen und C++ aus? Was stellst du dir vor?
Ich habe mir ja in meinem Beitrag (vielleicht zu?) implizit gewünscht, eine Stringklasse mit variabler Zeichenbreite zu haben, um UTF-8-Strings zu speichern. Zum Bleistift ist eine solche Klasse in glibmm enthalten: Glib::ustring.
Ich bezweifle allerdings, daß man die so einfach herauslösen kann, um sie in jedem x-beliebigen Projekt zu verwenden, als Gtk+-Entwickler habe ich mich aber auch nie darum gekümmert, das Ding aus glibmm herauszufriemeln
So stellt er sich wohl auch die Brücke zu C++/CLI vor: "Wie soll ich mit so einem Ungetüm von String umgehen, wenn ich nicht weiß, was drin ist?" (deswegen auch mein Hinweis auf libiconv)
Mit anderen Worten: Zeichensätze sind zwar sprachunabhängig, aber die Interpretation selbiger nicht, und da macht es schon einen Unterschied, ob man C++ hat, oder sich bei Brainfuck fragt, wo der eigene Pointer gerade hinzeigt
-
GPC schrieb:
Hm... Zeichensätze sind ja, wie tommie-lie sagte, etwas plattforumunabhängiges. Eigentlich interessiert es nichtmal ob C++ oder Brainfuck... Daher die Frage: Wie sähe die Verbindung zw. Zeichensätzen und C++ aus? Was stellst du dir vor?
z.B. die Anwendungen von Umwandlungen via MultiByteToWideChar oder isleadbyte im Zusammenhang mit locale (WinAPI und CRT).
Bzw. die gesamte schöne "Char"-Klasse in .NET2, mit welchen sich die Unicode-Kategorien schön abfragen lassen. Oder die System.Text-Klassen mit welchem Umwandlungen vorgenommen werden können;Bzw. das lesen/schreiben von Dateien mit und ohne BOM (hier CRT / .NET).
Das könnte man fast noch beliebig fortsetzen...
-
tommie-lie schrieb:
GPC schrieb:
Wie sähe die Verbindung zw. Zeichensätzen und C++ aus? Was stellst du dir vor?
Ich habe mir ja in meinem Beitrag (vielleicht zu?) implizit gewünscht, eine Stringklasse mit variabler Zeichenbreite zu haben, um UTF-8-Strings zu speichern. Zum Bleistift ist eine solche Klasse in glibmm enthalten: Glib::ustring.
Ich bezweifle allerdings, daß man die so einfach herauslösen kann, um sie in jedem x-beliebigen Projekt zu verwenden, als Gtk+-Entwickler habe ich mich aber auch nie darum gekümmert, das Ding aus glibmm herauszufriemelnWarum auch... Glib::ustring ist imo die beste String-Klasse, die es gibt. Schön in nem namespace, ein gutes Interface (v.a. zur restlichen STL kompatibel) und doch ziemlich flexibel.
Dass man sie nicht aus der Glibmm rausholen kann, ohne Aufwand zu betreiben (z.B. darf die convert.h nicht fehlen), ist normal. Außerdem ist die Glibmm ja nicht wirklich groß (im Vergleich zum gtkmm)
Jochen Kalmbach schrieb:
GPC schrieb:
Hm... Zeichensätze sind ja, wie tommie-lie sagte, etwas plattforumunabhängiges. Eigentlich interessiert es nichtmal ob C++ oder Brainfuck... Daher die Frage: Wie sähe die Verbindung zw. Zeichensätzen und C++ aus? Was stellst du dir vor?
z.B. die Anwendungen von Umwandlungen via MultiByteToWideChar oder isleadbyte im Zusammenhang mit locale (WinAPI und CRT).
Bzw. die gesamte schöne "Char"-Klasse in .NET2, mit welchen sich die Unicode-Kategorien schön abfragen lassen. Oder die System.Text-Klassen mit welchem Umwandlungen vorgenommen werden können;Bzw. das lesen/schreiben von Dateien mit und ohne BOM (hier CRT / .NET).
Das könnte man fast noch beliebig fortsetzen...
Okay, das hört sich gut an und ich sehe auch ne anständige Verbindung zu C++. Du hast den Artikel, wir nehmen dich in die Red auf.
Grüße
GPC
-
Soll der Artikel auch mehr Richtung Unicode gehen und die prinzipiellen Dinge darin erklären? Und die Sprache des Artikels soll wohl deutsch sein, oder?
Hier mal eine grobe Übersicht:
-
Historische Entwicklung
-
Normierungen
-
Beispiele für Zeichensätze
-
Unicode
-
Begriffsdefinitionen
-
Encodings
-
Spezielle Codepoints
-
Vergleichen / Sortieren von Strings
-
RTL / LTR Besonderheiten
-
Implementierungen in OSs
-
Windows (Historische Entwicklung und jeweils implementierte Versionen)
-
Linux / Unix (=> wer kennt sich da aus; sonst muss ich halt selber suchen)
-
Verwendung
-
ISO C/C++
-
WinAPI
-
Linux (gcc)
-
.NET (1.1 / 2.0)
PS: Wünsche werden gerne entgegengenommen
-
-
Jochen Kalmbach schrieb:
Soll der Artikel auch mehr Richtung Unicode gehen und die prinzipiellen Dinge darin erklären?
Da Unicode im Prinzip DAS Thema ist, wenn's um Zeichensätze geht: tendenziell ja. Dennoch hast du als Autor die Freiheit, auf spezifische Dinge, die dir wichtig erscheinen, näher einzugehen.
Und die Sprache des Artikels soll wohl deutsch sein, oder?
Ja, wäre wünschenswert.
Hier mal eine grobe Übersicht:
-
Historische Entwicklung
-
Normierungen
-
Beispiele für Zeichensätze
-
Unicode
-
Begriffsdefinitionen
-
Encodings
-
Spezielle Codepoints
-
Vergleichen / Sortieren von Strings
-
RTL / LTR Besonderheiten
-
Implementierungen in OSs
-
Windows (Historische Entwicklung und jeweils implementierte Versionen)
-
Linux / Unix (=> wer kennt sich da aus; sonst muss ich halt selber suchen)
-
Verwendung
-
ISO C/C++
-
WinAPI
-
Linux (gcc)
-
.NET (1.1 / 2.0)
PS: Wünsche werden gerne entgegengenommen
-
-
was sind Multi-Byte Character?
-
ISO-8859-2 (Central Europe) waere auch noch erwehnenswert?
-
wolfi schrieb:
was sind Multi-Byte Character?
Zeichen, für die man zwei oder mehr Byte benötigt, da die entsprechende Kodierung für diese Zeichen einen Wert >128 vorgesehen hat. Bei Unicode in UTF-8-Kodierung beispielsweise alles, was nicht in ASCII enthalten ist, also Umlaute, sämtliche Akzentzeichen und so Zeug (inklusive kyrillischer, griechischer, chinesischer, japanischer, und allen anderen Non-Latin Schriften).
-
Hier ist der versprochene/gewünschte Artikel:
Einführung in Codepages und Unicode