Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Windows 10: Unicode UTF-8 Einstellung verwenden

  Alt 7. Apr 2020, 16:48
Also, was da passiert:
Dein String '‰PNG' wird als Unicode interpretiert und dort ist das Promillezeichen U+2030.
Bevor die Software mit Unicode kompiliert wurde, wurde der String vermutlich mit Windows-1252 kodierung gespeichert, sodass dort 0x89 stand.

Zitat:
Warum wird für das erste Zeichen FD FF eingelesen/in die Datei geschrieben?
Weil das ungültige UTF-8 Zeichen beim einlesen durch einen REPLACEMENT CHARACTER ersetzt wird.

Lösung für das Ganze: Wirf die Strings an der Stelle raus, die haben da nix zu suchen. Die Magic number am Anfang der Datei ist (hexadezimal)
Code:
89, 50, 4e, 47, 0d, 0a, 1a, 0a
Einfach diese Bytes in ein Byte-Array schreiben und vergleichen. Zur Not kannst du das auch als 2 32bit Zahlen (Cardinal?) oder eine 64bit Zahl zusammenfassen.

Geändert von jfheins ( 7. Apr 2020 um 16:54 Uhr)
  Mit Zitat antworten Zitat