Zeichenkodierung (was: Re: [linux-l] Plan9-Konzepte)

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Di Apr 25 09:33:53 CEST 2006


Hallo,

On Sun, Apr 23, 2006 at 09:26:40PM +0200, Volker Grabsch wrote:

> > > Ach ja, und diese Strings sind natürlich alles "Unicode"-Objekte. 
> > 
> > Objekte?
> 
> Ich weiß nicht, wie man das in C handhabt. Gibt es spezielle strlen(),
> ... Funktionen für UTF-8 codierte char* ?

Freilich, moderne libc-Varianten haben all diesen Kram -- einer der
Gründe, warum sie so riesig groß sind...

> Wie dem auch sei, in OO-Sprachen wie Python, Java, und etlichen C++
> Bibliotheken ist es jedenfalls üblich, dass es Unicode-Objekte gibt.
> Das sind im Prinzip String-Objekte (in Java heißen sie sogar
> "String"), die aber eben den gesamten Unicode-Zeichensatz
> unterstützen. An deren interne Darstellung kommt man von außen nicht
> ran (ist meist UTF-16),

Meist UTF-16? Wirklich? Kann ich mir kaum vorstellen, dass die wirklich
alle so hirnverbrannt sind -- UTF-16 ist die denkbar dümmste mögliche
Kodierung! Es bringt weder den Vorteil einer einheitlichen Zeichenlänge
(und damit einfachen Verarbeitung), noch effizienten Verarbeitung
(kleiner Datenmengen) dank Zeichen in nativer int-Größe des Prozessors,
noch effizienter Speicherung der meisten Daten... Kurzum: Es vereint auf
bemerkenswerte Weise alle Nachteile von UCS-4 und UTF-8.

-Olaf-



Mehr Informationen über die Mailingliste linux-l