AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Prism Deppenfrage: Wie sieht UTF-8 aus?
Thema durchsuchen
Ansicht
Themen-Optionen

Deppenfrage: Wie sieht UTF-8 aus?

Ein Thema von alzaimar · begonnen am 2. Okt 2007 · letzter Beitrag vom 2. Okt 2007
Antwort Antwort
Seite 2 von 2     12   
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#11

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:11
Oh, bei der Gelegenheit noch etwas zu meinen XML-Erfahrungen mit .NET: Ich musste noch nie irgendwo ein BOM wegschnippeln. Das BOM sagt dem Parser eigentlich, dass die Datei UTF-8-kodiert ist. Das encoding im XML-Header sagt glaube ich, dass das XML auch UTF-8-kodiert ist, und das sind zwei Dinge, die nicht direkt etwas miteinander zu tun haben (nein, frag bitte nicht, warum). Im Normalfall sollte es keine Probleme geben, die Dateien als UTF-8 zu lesen und zu schreiben.

Zitat:
Wenn ich den Beispielcode ausführe (mit dem Umlaute-XML im CONST, also eigentlich *kein* UTF-8 ), dann liest LoadXMLData die Umlaute trotzdem ein, obwohl Umlaute ja eigentlich nach UTF-8 kodiert sein müssten. Na gut, mir egal, geht ja so. Aber jetzt:
Wenn es im Quellcode im const-Bereich steht, ist es doch Unicode, weil die .NET-Compiler Unicode verarbeiten, oder?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:17
Zitat von OregonGhost:
Ich musste noch nie irgendwo ein BOM wegschnippeln. Das BOM sagt dem Parser eigentlich, dass die Datei UTF-8-kodiert ist. Das encoding im XML-Header sagt glaube ich, dass das XML auch UTF-8-kodiert ist, und das sind zwei Dinge, die nicht direkt etwas miteinander zu tun haben (nein, frag bitte nicht, warum). Im Normalfall sollte es keine Probleme geben, die Dateien als UTF-8 zu lesen und zu schreiben.
Kann ich schon verstehen, denn das BOM würde dem Parser mitteilen, erstmal alles zu dekodieren und das 'encoding=UTF-8' bedeutet, das die Daten UTF-8 kodiert sind...

Nur, wenn ich den BOM nicht wegschnipple, dann ....
Zitat von Das Exception-Fenster:
The data at the root level is invalid. Line 1, position 1, Zeile:1
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#13

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:18
Hmm, konnte man beim XmlReader nicht ein Encoding angeben? Auch automatische Bestimmung oder so?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:39
Zitat von alzaimar:
Nur, wenn ich den BOM nicht wegschnipple, dann ....
Zitat von Das Exception-Fenster:
The data at the root level is invalid. Line 1, position 1, Zeile:1
Der BOM gehöhrt ja auch nicht zum XML-Definierten Bereich deiner Datei und ist primär auch nur eine MS-Ausgeburt.
Ein Parser arbeitet ja grundsätzlich erst mal mit Stream. Und die ersten Bytes die er vorgesetzt bekommen muß sind <?xml version="1.0". Wenn Du nun einen BOM in deiner Datei hast so muß entweder dein Parser dies berücksichtigen das hier noch 3 Bytes kommen wenn die Datei mit diversen MS-Tools (Notepad) bearbeitet wurde und sie ignorieren denn nach XML beginnt ja erst mit der coding-Angabe wie die Datei interpretiert werden muss. Und wenn der BOM vorhanden ist müßten die Datei erstmal komplett "ent-utf8" werden um dann den Ergebnisstream dem Parser zu übergeben.

Ich hab mal ein paar Dateien angehängt. Einfach mal z.B. mit IE6/7, Firefox, MS Notepad 2007, ... ausprobieren. Da kann man nur sagen: Danke, Microsoft.
Angehängte Dateien
Dateityp: xml test-utf8-utf8_121.xml (85 Bytes, 6x aufgerufen)
Dateityp: xml test-utf8-iso_148.xml (90 Bytes, 3x aufgerufen)
Dateityp: xml test-iso-utf8_145.xml (82 Bytes, 5x aufgerufen)
Dateityp: xml test-iso-iso_158.xml (84 Bytes, 3x aufgerufen)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:41
BOM bei UTF-8 ist keine Pflicht. Also nichts mit unbedingt 3 Bytes mehr...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:41
Noch ein Anhang: Unicode-Codierte speicherung einer UTF8-XML-Datei

[Edit]Noch ein paar Beispiele angehängt[/Edit]
Angehängte Dateien
Dateityp: xml test-uni-utf8_126.xml (160 Bytes, 5x aufgerufen)
Dateityp: xml test-uni2-utf8_573.xml (166 Bytes, 5x aufgerufen)
Dateityp: xml test-uni3-nocoding_524.xml (126 Bytes, 2x aufgerufen)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#17

Re: Deppenfrage: Wie sieht UTF-8 aus?

  Alt 2. Okt 2007, 13:43
Das ist Unicode bzw. UTF-16 und kein UTF-8 (es steht zwar so im XML Header, aber hier sind es 2 Bytes pro Char-Entry)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz