AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Encoding/Unicode/Zeichensätze

Ein Thema von EConvertError · begonnen am 17. Jan 2007 · letzter Beitrag vom 30. Jan 2007
 
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#16

Re: Encoding/Unicode/Zeichensätze

  Alt 27. Jan 2007, 13:59
Hallo!

Zitat:
erst über's BOM die "Grundcodierung" erkennen und dann darin anhand des Encoding-Attributes
Genau das möchte ich tun. Dann muss ich eben meinen kleinen XML-Parser unicode-fähig machen.

Jetzt schaue ich mal nach, ob ein BOM existiert (das habe ich bereits implementiert). Wenn nicht, lese ich im im "ANSI-Modus". Wenn das Encoding-Attribut ausgelesen ist, passe ich das Encoding gegebenenfalls an.

Für mich stellt sich nun die Frage: Angenommen, ich im Encoding-Attribut steht UTF-8 und ich habe bisher im "ANSI-Modus" gelesen. Muss ich dann z.B. UTF-8 anders behandeln als wenn es bereits so im BOM angegeben wäre?

Oder kann ich dann ganz normal so weiterlesen:
Delphi-Quellcode:
SetLength(MyAnsiString, DasWasHaltNochZuLesenIst div SizeOf(AnsiChar));
      Stream.Read(PAnsiChar(MyAnsiString)^, DasWasHaltNochZuLesenIst );
      MeinEndgültigerWideString := UTF8Decode(MyAnsiString);
Selbiges natürlich bei den anderen Unicodes...

Und rein angenommen, im Encoding-Attribut ist z.B. so etwas krankes (im Sinne von selten ) wie IBM855 angegeben: Kann ich das als ANSI einlesen, oder müsste ich das theoretisch extra encoden? Ich habe nämlich nicht wirklich Lust, hunderte Encoder zu schreiben.

In diesem Fall würde ich nur die wichtigsten Fälle, wie UTF-8 und UTF-16 und AnsiString beachten (und natürlich OOP-mäßig ausbaubar machen, falls ich einmal in ferner Zukunft ein besonders seltsames XML-Dokument bekomme).


Vielen Dank,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz