AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

Ein Thema von devidespe · begonnen am 19. Aug 2010 · letzter Beitrag vom 20. Aug 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 09:44
Hier mal eine Gegenfrage: wieso versucht ihr unabhängig von den den genauen Anforderungen jedem einen XML-Parser aufzuschwatzen?
Du hast eine XML Datei. Dann sollte man immer einen XML-parser nehmen.

Aber für das Auslesen von 2 XML-Attributen sich in einen XML-Parser einarbeiten bringt aus meiner Sicht mehr Aufwand als Nutzen.
Du glaubst wohl in deiner SW-Entwicklungszeit nur einmal mit XML-Dateien tun zu haben? Und jedesmal musst du dan mit krückenlösungen ala Pos + Regex versuchen deine beiden Attribute zu finden (wobei man dir problemlos XML-Dateien geben kann die korrekt sind und mit dem parsre problemlos auslesbar sind und deine Pos+RegEx-Lösung versagen wird.

Ich habe den Aufwand auch schon betrieben, und zwar mit dem XML-Parser von http://www.destructor.de/, allerdings scheint er nicht Unicode-fähig zu sein. Eine Anfrage an den Autor blieb bislang unbeantwortet.
Steht auf der Webseite. Er wird nix machen in diesem Bereich. M.E. ist der parser damit nicht mehr zu empfehlen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 09:56
Hier mal eine Gegenfrage: wieso versucht ihr unabhängig von den den genauen Anforderungen jedem einen XML-Parser aufzuschwatzen?
Die Anforderung ist eine XML zu laden und 2 Werte auszulesen - also XML-Parser.

btw. Softwareentwicklung bedeutet nicht jeden Sch*** selbst zu implementieren sondern dort wo es was fertiges gibt dieses zu verwenden!

Ich habe den Aufwand auch schon betrieben, und zwar mit dem XML-Parser von http://www.destructor.de/,
Warum nimmst Du nicht einfach TXMLDocument das seit Delphi 7 als Standardkomponente verfügbar ist?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#13

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 10:02
Genau deswegen, weil
A) XML ein paar Spezifikationen besitzt, welche das auslesen erschweren, wie z.B. keine Pflicht eines BOM (die genaue Kodierung steht erst nach dem Parsen der Processorinstruction fest).
Und B) scheint es doch massig Probleme beim Auslesen und der eventuell nötigen Umkodierung zu geben, welches ein ordentlicher Parser von sich aus behandeln würde.

Und jupp, für einfache Dinge hat MS/Delphi schon was Fertiges dabei ... siehe MSXML, TXMLDocument, IXMLDocument und wie man es sonst noch nutzen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Aug 2010 um 10:06 Uhr)
  Mit Zitat antworten Zitat
devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 10:03
Du hast eine XML Datei. Dann sollte man immer einen XML-parser nehmen.
Diese Aussage hält sich hier hartnäckig, ist meiner Ansicht nach nicht immer zutreffend. Dann könnte man auch gleich folgende Aussage treffen: Du benutzt Microsoft--Betriebssysteme, dann musst Du auch Microsoft-Office benutzen und darfst kein alternatives Office einsetzen.

Du glaubst wohl in deiner SW-Entwicklungszeit nur einmal mit XML-Dateien tun zu haben? Und jedesmal musst du dan mit krückenlösungen ala Pos + Regex versuchen deine beiden Attribute zu finden (wobei man dir problemlos XML-Dateien geben kann die korrekt sind und mit dem parsre problemlos auslesbar sind und deine Pos+RegEx-Lösung versagen wird.
Es geht nicht darum, während meiner SW-Entwicklungszeit komplett auf Parser zu verzichten und bei weiteren XML-basierten Anforderungen würde ich auch gerne einen Parser verwenden. Wenn ich aber nur eine Anforderung mit dem Auslesen von 2 Attributen habe, in naher Zukunft kein XML mehr benötige und grundsätzlich wenig Zeit zur Verfügung habe, ist die Einarbeitung in einen Parser mehr Aufwand als eine Notlösung mittels Pos. Dabei bleibe ich.
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 10:15
Diese Aussage hält sich hier hartnäckig, ist meiner Ansicht nach nicht immer zutreffend. Dann könnte man auch gleich folgende Aussage treffen: Du benutzt Microsoft--Betriebssysteme, dann musst Du auch Microsoft-Office benutzen und darfst kein alternatives Office einsetzen.
Eher so: Wenn ich einen guten Editor für Windows will um Briefe zu schreiben nehme ich mir keinen Hex-Editor dazu.


Wenn ich aber nur eine Anforderung mit dem Auslesen von 2 Attributen habe, in naher Zukunft kein XML mehr benötige und grundsätzlich wenig Zeit zur Verfügung habe, ist die Einarbeitung in einen Parser mehr Aufwand als eine Notlösung mittels Pos.
Dann ärger dich nicht wenn dann du alle paar Tage deine Pos-Methode erweitern müsst weil vor den beiden Attributen doch noch werte kommen die dein Pos überlesen sollte.

Dabei bleibe ich.
Ok. Dann noch viel Spaß beim XML-Frickeln.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#16

AW: Wie kann ich eine UTF16-Codierte Textdatei als 8-Bit Ansistring einlesen?

  Alt 20. Aug 2010, 11:42
Eher so: Wenn ich einen guten Editor für Windows will um Briefe zu schreiben nehme ich mir keinen Hex-Editor dazu.
Jupp.

Hier hat auch keiner gesagt "du nutzt MS Windows, also mußt du unbedingt MSXML nutzen".

Ich nutze auch oftmals nicht den IE, um mit Windows ins Internet zu gehn.
Genausogut hönnte ich mit auch mit dem Notepad (einem Texteditor) HTML-Seiten ansehn
oder mit einem textbasierten Terminal-Client im Internet surfen,
anstatt einen HTML-Parser und eine passende Darstellungsenginge (genannt Browser) zu verwenden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Aug 2010 um 11:46 Uhr)
  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 22:30 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