Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » std::wstring

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.03.2004, 14:03 Uhr
(un)wissender
Niveauwart


Eignet sich wstring für eine Internationalisierung?
Hat da schon mal jemand mit gearbeitet?
Was mich irritiert ist, dass jedes Toolkit seine eigene Stringklasse mit bringt, aber niemand std::wstring nutzt.
Warum ist das so?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.03.2004, 14:16 Uhr
virtual
Sexiest Bit alive
(Operator)


Die wirkliche Unterstützung von wstring ist ziemlich ärmlich. Nichta lle C++ implementationen können die wirklich.

Letztlich benutzt man für i18 gerne UTF-8, das ist mit std::string abspeicherbar und vor allem braucht man sich dann auch keine Kopp zu machen, wenn man dann doch mal wieder C Code einfliessen läßt (was ja eigentlich immer der Fall ist, wenn man OS spezifische Routinen anspricht).
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.03.2004, 14:26 Uhr
~(un)wissender
Gast


UTF-8, kann man damit auch bspw. Arabisch codieren?
Ich dachte, dass würde nur mit UTF-16 gehen.
Ausgegangen davon, das wstring voll implementiert ist, wäre es dann eine gute Alternative?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.03.2004, 07:30 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich meine schon, daß chinesisch oder arabisch mit UTF8 darstellbar ist, allerdings muß ich sagen, es noch nicht probiert zu haben. Ich sehe auch keinen Grund, warum das nicht möglich sein sollte.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.03.2004, 09:47 Uhr
(un)wissender
Niveauwart


Hm, weil chinesisch ein paar tausend Zeichen hat, und das mit 8 bit nicht mehr darstellbar ist, aber vielleicht sollte ich mit mal die UTF-8 kodierung ansehen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
17.03.2004, 10:43 Uhr
virtual
Sexiest Bit alive
(Operator)


Nee, UTF8 funktioniert so:

ein logische Zeichen besteht aus 1-N 8-Bit chars (wenn ich mich recht entsinne ist N<=3, meistens). Da ist dann durchaus genug platz für alles. Der Unterschied zwischen wchar_t und UTF8 codierten zeichenketten ist der, daß bei einem wchar_t ein logisches zeichen immer einem wchar_t entspricht, bei UTF8 kann ein logische Zeichen (zB ein chinesisches Schriftsymbol) in bis zu 3 Bytes codiert sein. Dies ist auch der eigentliche Nachteil von UTF8: Du kannst halt nicht mehr sagen: Der String ist X Zeichen lang, weil er X Bytes belegt. Da mußt Du dann spezielle Routinen verwenden.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
17.03.2004, 11:04 Uhr
(un)wissender
Niveauwart


Hm, weißt du zufällig, ob der Javastring das mit UTF-8 macht?
Die speziellen Routinen für UTF-8 sind dann aber wesentlich komplexer und damit langsamer als für eine konstante Zeichengröße, fällt das in der Realität sehr negativ auf?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
17.03.2004, 11:31 Uhr
virtual
Sexiest Bit alive
(Operator)


Zmindest stellt das JNI vom Java Routinen bereit, um einen UTF8 string zu generieren/setzen. Ob Java nun nach dem JNI hingeht und das ganze in echten Unicode umsetzt, weiß ich nicht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
17.03.2004, 11:58 Uhr
(un)wissender
Niveauwart


Warum wird eigentlich nicht überall Unicode verwendet?
Klar es braucht normalerweise mehr Speicherplatz, aber ist sehr einfach zu handhaben und weltweit eindeutig.
Aktuellere Windowsversion (NT, 2000, XP) bauen schließlich intern auch komplett auf 16-bit Zeichen dem Unicode-2 entsprechend auf.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: