AGB  ·  Datenschutz  ·  Impressum  







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

DELPHI & TInifiles ASCII und UTF16

Ein Thema von bernhard_LA · begonnen am 4. Jul 2024 · letzter Beitrag vom 4. Jul 2024
 
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
908 Beiträge
 
Delphi 12 Athens
 
#3

AW: DELPHI & TInifiles ASCII und UTF16

  Alt 4. Jul 2024, 11:37
Eine Heuristik zur Erkennung der Codierung kann nie 100%ig funktionieren - und nichts anderes versuchst du hier ja. Besser wäre es imho, für die Ini-Datei ein klar definiertes Format anzugeben. Sinnvoll wäre imho UTF-8 und die Verwendung von TMemInifile im Code.

Dann bringst du glaube ich auch ANSI und ASCII durcheinander. Die TIniFiles unterstützen afaik durchaus mehr als ASCII - Umlaute sind z.B. kein Problem, solange die Ini-Datei nicht auch auf anderen Systemen mit anderen Ländereinstellungen gelesen wird. Deine Funktion IsAsciiOrUtf16WithoutBOM macht dann auch nicht das, was sie soll, denn mit
Delphi-Quellcode:
if Buffer[i] > 127 then
begin
  Exit(False); // Non-ASCII character found
end;
wird z.B. bei so einer Ini (die als UTF-16 ohne BOM gespeichert wird)
Code:
[Greetings]
value1=Hallöle
trotzdem false zurückgeliefert, weil das "ö" als $F6 $00 kodiert wird - und $F6 ist größer als 127.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  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 15:36 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