Re: LANG und UTF-8

From: Rocco Rutte <pdmef(at)cs.tu-berlin.de>
Date: Mon, 5 Dec 2005 17:24:22 +0000

Hi,

* Oliver Fromme [05-12-05 17:17:46 +0100] wrote:
>Rocco Rutte <pdmef(at)cs.tu-berlin.de> wrote:
> > * Bernd Walter [05-12-05 15:38:05 +0100] wrote:

> > > Wir reden hier von einer _zusätzlichen_ Kodierung!

> > Und genau das "zusätzlich" sehe ich als Problem.

>Du hast immer noch kein konkretes Problem genannt.

Doch: ich möchte nicht libiconv benutzen müssen sondern möchte es eine
Ebene tiefer haben, also in der C Bibliothek. Es könnte dann immernoch
verschiedene Kodierungen geben, aber die Anwendung müsste es nicht
wissen.

> > > Eine Anwendung muss auch in 20 Jahren noch in der Lage sein mit
> > > heutigen Terminals zurecht zu kommen.

> > Daraus ergibt sich aber ein Teufelskreis, wenn es komplett für alle
> > Terminals und alle Anwendungen gelten soll. Dass hiesse nämlich, dass
> > wir aus Gründen der Kompatibilität alle heutigen Interfaces behalten
> > müssten und, soweit notwendig, erweitern.

>Nein. Eine Anwendung, die Unicode bzw. Unicode-Kodierungen
>(wie z.B. UTF-8) unterstützt, hat keine Probleme damit,
>auch z.B. ISO8859-1 zu unterstützen, schließlich ist das
>ja auch nur ein Unicode-Subset. Singlebyte-Kodierungen
>sind auch nur ein reduzierter Sonderfall von Multibyte-
>Kodierungen, d.h. man braucht keinen speziellen Support da-
>für (außer vielleicht einer trivialen Shortcut-Abfrage).

Das weiss ich. Wenn ich es brauche, benutze ich auch libiconv und komme
mit wenig Aufwand da schon sehr weit. Darum geht es mir nicht. Ich
_träume_ von einer Welt, wo ich libiconv nicht brauche.

>Aber Anwendungen, die mit Low-Level-Strings hantieren müs-
>sen, wie es in C üblich ist, müssen sie sich über deren
>Kodierung im Klaren sein und diese unterstützen. Natür-
>lich gibt es in C Library-Funktionen für Stringbehandlung,
>aber die wenigsten Programme kommen damit aus.

>Klar, das ist suboptimal, aber so sieht die Praxis aus.

Eben. Ich weiss, dass ich keine Wahl habe als da mitzumachen. Nur ich
sehe leider nicht auch nur ein Einsatz dahin gehend, dass man da etwas
aufräumt.

Man könnte zum Beispiel das Stringhandling für C obsolet erklären und
multibyte-sichere Alternativen schaffen (bei den meisten wird es sich
nicht viel nehmen, weil sie identisch sind), damit man wenigstens bei
Neuentwicklungen nicht immer noch die "alten" und mb*()/wcs*() gemischt
benutzt (und zum Beispiel von der Semantik des Codes abhängig macht, ob
man ein strlen() oder wcswidth() meint).

Damit betoniert man alles ja noch weiter ein. Wenn man eh schon Locales
hat, kann man diese Form von Abstraktion auch die in die C-Bilbiothek
packen... Hätte, könnte, müsste, sollte, ich weiss.

   bye, Rocco

-- 
:wq!
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 05 Dec 2005 - 18:26:24 CET

search this site