AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE IDE Dateicodierung: was sollte man da einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

IDE Dateicodierung: was sollte man da einstellen

Ein Thema von ggscholz · begonnen am 2. Mai 2023 · letzter Beitrag vom 5. Mai 2023
Antwort Antwort
Seite 1 von 2  1 2      
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
68 Beiträge
 
Delphi 11 Alexandria
 
#1

IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 20:44
In der IDE kann ich unterhalb des Editors die Dateicodierung einstellen.
  • Was sollte da eingestellt sein?
  • Welche Auswirkung haben unterschiedliche Codiereinstellungen in einem Projekt

Schon jetzt herzlichen Dank für die Hilfe

Grüße Gerd
Miniaturansicht angehängter Grafiken
codierung.png  
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 21:07
Darum kümmert sich die IDE automatisch. Wenn du z.B. chinesische Schriftzeichen einfügst, kommt die Frage, ob du zu UTF-8 wechseln möchtest, weil diese nicht als Ansi Zeichen gespeichert werden können.

Unter Windows ist UTF-16 verbreitet, sprich 2 Byte pro Zeichen, während unter Linux UTF-8 üblich ist. Wenn du etwas einstellst, wird dies als Byte Order Mark am Anfang der Datei gespeichert, so dass das Encoding beim Öffnen entsprechend identifiziert werden kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 22:34
Wenn man seinen Code teilt, oder z.B. bei Verwendung von sowas wie GitHub, muß sollte man leider auch besser immer auf UTF-8 umgestellt haben.

Denn ein Ä wäre ja nur im deutschen ein Ä, obwohl es sich bei uns auch ohne UTF-8 speichern lässt.


Außerdem ist der DiffViewer von Github saudämlich und nimmt alles ohne BOM als UTF-8 an, was die Anzeige des besagten Ä bissl doof aussehen lässt.
Linux halt ... im Windows war dagegen es vor allem früher Gang und Gebe, dass Dateien ohne BOM meistens ANSI sind, bzw. unter DOS noch OEM waren.



Ich bin mir grade nicht sicher, aber ich glaube seit Kurzem gab es im Delphi irgendwo eine Option, wo man die Standard-Codierung einstellen kann.
[ADD] Jo man. Tools > Optionen > Benutzeroberfläche > Editoroptionen > Standardkodierung
$2B or not $2B

Geändert von himitsu ( 2. Mai 2023 um 22:41 Uhr)
  Mit Zitat antworten Zitat
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
68 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 16:23
Danke für die Antworten, ganz schlau bin ich aber noch nicht.

Bei mir geht es aktuell um eine WIN 32 Anwendung, die mit GIT verwaltet wird. Da wäre jetzt laut himitsu UTF8 richtig, aber nicht ganz.

Was ist BOM?

Und jaenicke empfiehlt UTF-16

In dem Auswahlfenster gibt es UTF-8, UTF-16BE oder UTF-16LE

Ich würd's gerne nur richtig einstellen, ohne unbedingt in die Tiefen der Codierung und und seiner Klippen einzusteigen. In Asien werde ich definitiv nicht mit meinem Programm auftauchen.

Grüße Gerd
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 16:44
BOM ist das Byte-Order-Mark. Darüber wird festgelegt, in welcher Reihenfolge die Bytes für ein Zeichen in die Datei geschrieben werden, falls für die Codierung mehr als ein Byte benutzt wird. Der Unterschied zwischen UTF16LE und -BE liegt dann in der Reihenfolge, wie die (meistens) 2 Bytes geschrieben werden. Das BOM dafür ist iirc $FFFE bzw. $FEFF. Für UTF-8 $EF BB BF.

Mit UTF-8 macht man imho nichts verkehrt, auch unter Windows nicht.

im Windows war dagegen es vor allem früher Gang und Gebe, dass Dateien ohne BOM meistens ANSI sind, bzw. unter DOS noch OEM waren.
Nuja, in älteren Windows (d.h. XP, ggf. auch noch Windows 7) gab es da aber auch so komische Heuristiken, z.B. in Notepad. Wenn man damit eine neue Textdatei erstellt hat und "Blödsinn" reingeschrieben hat, dann sah man beim nächsten Öffnen nur 4 chinesische Zeichen. Die 16-Byte-ANSI-Datei wurden für UTF16 gehalten.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 17:34
Jupp, Delphi prüft inwischen wenn ohne BOM
und auch das "neue" Notepad (Editor) prüft inzwischen
aber ...

Auch haben die es repariert, dass wenn die Datei ohne BOM geladen wurde, sie auch wieder ohne BOM gespeichert wird (XE lädt auch UTF-8 ohne BOM problemlos, aber speichert es dann oft mit BOM ab)



Frag mal die Wiki
ByteOrderMark ... eine Markierung am Dateianfang, wie die nachfolgenden Bytes kodiert sind

Es gibt ANSI (ohne BOM)
UTF-8 ohne BOM
* im Linux Standard
* im Windows meisten Standard=ANSI
* * "einige" Programme prüfen, wenn kein BOM da ist, ob es sich als UTF-8 laden lässt (ja=UTF-8 und nein=ANSI)
* * andere laden es dann oft blind als ANSI (womit dann die Umlaute nicht mehr stimmen)
UTF-8 mit BOM
UCS2 bzw. UTF-16 mit BOM (einmal sorum oder die zwei Bytes jedes Chars in anderer Reihenfolge)




Bei UTF-8 mit BOM ist klar, dass es UTF-8 ist.
Ohne BOM, kommt es drauf an, ob und wie jedes Programm reagiert.

Im Gegenzug gibt es aber auch Programme, die wollen unbedingt UTF-8, aber ohne BOM.
Das BOM ist in Wirklichkeit ein Unicode-Zeichen #$FEFF.
Auch das $EF BB BF vom UTF-8 ist die utf8-codierte Darstellung dieses $FEFF.
Jene Programme würden dann als erstes das "Zeichen" $FEFF finden und wenn sie es nicht mögen, dann knallen sie gern. (z.B. die Linux-Version der PSQL.exe des PostgreSQL)




Im Prinzip mal Emba fragen, ob sie die neue Default-Einstellung dieser IDE-Option auf UTF-8 setzen, anstatt auf ANSI.
$2B or not $2B

Geändert von himitsu ( 4. Mai 2023 um 17:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 18:24
Ja, die IDE schlägt selbst auch UTF-8 vor. Windows selbst nutzt UTF-16, was aber keinerlei Kompatibilitätsprobleme macht (anders als bei Lazarus).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 18:34
Sie schlägt es aber "normal" nur vor, wenn etwas in der Datei steht, was nicht ins ANSI passt.

Wäre doch bestimmt zu praktisch, wenn sie neue Dateien direkt immer gleich als UTF-8 erzeugt. (ÄÖÜ... passt ja ins ANSI rein, zumindestens bei den Deutschen, aber im GitHub-Diff sieht es grauenhaft aus)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#9

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 5. Mai 2023, 10:37
Der Vollständigkeit halber:
BE = Big endian
LE = Little endian

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#10

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 5. Mai 2023, 10:58
Wäre doch bestimmt zu praktisch, wenn sie neue Dateien direkt immer gleich als UTF-8 erzeugt.
Deswegen kann man das ja einstellen. Mittlerweile direkt in der IDE, bei älteren Versionen auch über die Registry.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:12 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