AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Muss eine "leere" Datei ein BOM enthalten?
Thema durchsuchen
Ansicht
Themen-Optionen

Muss eine "leere" Datei ein BOM enthalten?

Ein Thema von Der schöne Günther · begonnen am 30. Mai 2017 · letzter Beitrag vom 31. Mai 2017
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 30. Mai 2017, 17:39
Wenn ich es jetzt richtig verstehe dann ist es doch kein Bug.

Gebe ich explizit ein Encoding mit Preamble an dann muss die Datei dieses enthalten, auch wenn der Netto-Inhalt ein leerer String ist.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 30. Mai 2017, 22:10
Eine leere Datei enthält einen Leerstring, der ist zu allen möglichen Kodierungen kompatibel oder aber er ist vollkommen ohne Eigenschaft (null,Nil....)
Wenn man sich den Eintrag in der Wikipedia anschaut, dann ist das BOM ein "nice to get".

Wenn Du Dir z.B. eine Word-.DOC-Datei anschaust, dann ist das ein fröhliches Durcheinander von 16 und 8-Bit Codierungen, natürlich ohne BOM.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 31. Mai 2017, 04:57
Ist das nicht ein bisschen Pseudo Diskussion?
Immerhin haben wir einen Aufruf, wo Unicode explizit angegeben wird.
Wenn es sich um Basisfunktionen handelt, könnte ich mir gut vorstellen, dass es eine TFile Funktion gibt, die das Encoding prüft, sodass man programmatisch anschließend die richtige Open / Load Methode wählen kann.
Ich habe aus alten Zeiten noch so ein Prinzip im Kopf, irgendwas mit "reine Lehre".
Es gibt eine Schicht, die einfach Operationen durchführt, ohne Prüfung, reine Lehre. Die muss natürlich genügend "Werkzeug" liefern, die Methoden auch richtig einzusetzen. Hat z.B. was mit Performance zu tun und Redundanz.
Darüber kann dann eine Komfortschicht liegen.
Und da wäre man dann bei .Net / MS. Die machen für meinen Geschmack immer gern irgendetwas "komfortabel". Leider weiß man nie genau, was, wie warum. Auf API Ebene kenne ich das allerdings kaum aus der Praxis, aber es entspräche deren Programm / OS Logik. Bspw. Notepad, kann nichts, aber das erstaunlich gut, u.a. Dateien unterschiedlichster encodings öffnen.
Gruß, Jo
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 31. Mai 2017, 05:39
Bspw. Notepad, kann nichts, aber das erstaunlich gut, u.a. Dateien unterschiedlichster encodings öffnen.
https://en.wikipedia.org/wiki/Bush_hid_the_facts
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 31. Mai 2017, 06:48
Haha, das kannte ich nicht!
Zum Glück habe ich nur von "Öffnen" geschrieben.

Im Grunde wird MS mit sowas ja zum Sklaven genau dieser windelweichen "Komfort" Thematik, von der ich oben schrieb. Notepad versucht halt, beim Öffnen ein Encoding zu interpretieren, schlimmer aber, dass es beim Speichern dann dieser eigenen Logik nicht folgt. (Oder halt einfach konsequent mit / ohne BOM oder Speichervarianten arbeiten würde)

Bedeutet zum Thema m.E., "wo ist das Problem?" Streng genommen ist das Verhalten von TFile ok und wenn es anders wäre, würden vielleicht Delphi Programme eines Tages auch in der BHTF Hall of Fame landen.
Gruß, Jo
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Muss eine "leere" Datei ein BOM enthalten?

  Alt 31. Mai 2017, 07:12
Ich meckere gerne, aber ich sehe es genauso. Das Verhalten der Delphi RTL ist hier im Vergleich zu .NET strenger/pingeliger, aber auch "korrekter".
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:57 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