Re: ANSI oder nicht ANSI?



Hallo DoDi,

"Hans-Peter Diettrich" <DrDiettrich1@xxxxxxx> schrieb
im Newsbeitrag news:6m6ateFf1f8sU2@xxxxxxxxxxxxxxxxxxxxx
Hubert Seidel schrieb:

Bei jeglichen Längen und Zeichenzugriffsfunktion stecht etwas wie
"if (c in LeadBytes) then" für jedes Zeichen voran. Na Danke auch.
Speicher ist ja nicht mehr so teuer...

Manche Leute wollen ja lieber UCS-4, um bei dem liebgewordenen
Indizieren von Strings bleiben zu können. Dann wird jeder normale
Ansi-Text "nur" 4 mal größer, ohne daß das irgendwelche anderen
Vorteile
bringt. So viel zum Thema "Speicherverschwendung" ;-)

"Irgendwelche Vorteile" währen Performancegewinn bei indizierte
Zugriffe auf Zeichen innerhalb der Strings.
(Kommt aj in der EDV nur selten vor ;-)

Hat sich zum Glück wieder etwas relativiert, da ich doch
(noch) kein mbcs-System habe. Bin jetzt aber vorsichtiger geworden!

Du brauchst eigentlich kein MBCS System, nur MBCS Strings. Die kannst
Du
Dir mit WideCharToMultiByte erzeugen lassen. Texte aus irgendwelchen
chinesischen, japanischen o.ä. Webseiten besorgen, und schon kannst Du
anfangen, solche Texte zu verarbeiten.

Nur dann macht mir Delphi ein Strich durch die Rechnung da das
SET LeadBytes nicht gefüllt ist, und demnach ByteType nicht
funktioniert.
(ich glaube Du hast nicht verstanden was ich in vorangegengenen
Posting news:gdk16h$ha3$00$1@xxxxxxxxxxxxxxxxx geschrieben...
....ich hatte gehofft verständlicher geworden zu sein <grübel>)

Mir währe in einigen Situationen eine feste Bitlänge von 24 oder
32 Lieber wenn alle Zeichen unbedingt unterstütz sein müssen.
Aber schade das mich an dieser Stelle keiner fragt ;-)

Es soll Leute geben, die haben sich so eine String-Klasse (mit 4
Bytes/Zeichen) schon geschrieben. Am aufwendigsten ist das rein/raus
Kopieren von Ansi oder UTF Strings, der Rest ist trivial.

Naja... ich will mich beim Programmieren auf _mein Problem_
konzentrieren,
nicht auf irgendwelche Probleme beim Unicode oder andere Libs diesbezgl.
Bei dem was ich bisher analysiert habe, kann meine Delphi-Version
nicht mit MBCS (damit meine ich z.b. sysutils etc.) nicht korrekt
umgehen.

Gibt's bei Die ne Exception, oder nicht bei:
for c:=#0 to #255 do
if c in LeadBytes then raise Exception.Create('MBCS');
??????????????????????????????????????????????????????????

Wenn nicht, dann darfst auch Du keine MCBS-Funktionen
von Delphi nutzen, da diese nicht funktionieren können!!!!

mfg.
Herby

--
http://www.hubert-seidel.de


.



Relevant Pages

  • Delphi und UTF-8 (was: D2009 - String = WideString?)
    ... Hatten wir nich mal den Punkt das UTF-8 intern WideString war/ist? ... gar MBCS, was dann zufolgen ein hohen internen Aufwand ... 'A's enthalten und das erste Zeichen ... Wenn ich im mitgeliefertem Quellcode nach LeadBytes suche, ...
    (de.comp.lang.delphi.misc)
  • Re: ANSI oder nicht ANSI?
    ... für mich hat sich das Thema MBCS vorerst erledigt :-) ... {ByteType indicates what kind of byte exists at the Index'th byte in S. ... if c in LeadBytes then raise Exception.Create; ... Dann währen mir bald 4 Bytes pro Zeichen lieber bzw. evtl. ...
    (de.comp.lang.delphi.misc)
  • Re: ANSI oder nicht ANSI?
    ... Du brauchst eigentlich kein MBCS System, nur MBCS Strings. ... Texte aus irgendwelchen chinesischen, japanischen o.ä. Webseiten besorgen, und schon kannst Du anfangen, solche Texte zu verarbeiten. ... 32 Lieber wenn alle Zeichen unbedingt unterstütz sein müssen. ...
    (de.comp.lang.delphi.misc)
  • Re: Bedingte Abfragen in Abfragen...
    ... Strings des guten alten Pascals am schnellsten. ... Länge immer als Wert mit schleifen. ... In der C-Konvention brauchst einfach nur Zeichen für Zeichen zu schreiben. ... danach entsprechend Speicher anlegen kannst. ...
    (de.comp.lang.c)
  • Re: CString and UTF-8
    ... know how to work with those strings just fine. ... In this sense, CString does ... The only important sense in which CString "supports" MBCS ... It has conversion constructors from UTF-16 that use the local MBCS code ...
    (microsoft.public.vc.mfc)