Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   UTF8 und UTF8 mit BOM und dann auch noch Java (https://www.delphipraxis.net/207497-utf8-und-utf8-mit-bom-und-dann-auch-noch-java.html)

creehawk 30. Mär 2021 09:02

UTF8 und UTF8 mit BOM und dann auch noch Java
 
Moin.Moin.

SAMPLE : Ich speichere eine Stringlist als JSON Datei so:
Delphi-Quellcode:
NewJson.SaveToFile(Path + '\info.json',Tencoding.ascii);
Ergibt UTF-8 ohne BOM.

SAMPLE : Ich speichere eine Stringlist als JSON Datei so:
Delphi-Quellcode:
NewJson.SaveToFile(Path + '\info.json',Tencoding.utf-8);
Ergibt UTF-8 mit BOM.

Ich benötige die gleiche Datei in JAVA und in Delphi.

Und jetzt: Umlaute.
UTF-8 ohne BOM liefert in Java alles wie ich es gerne hätte. Delphi (TEdit / TMemo) nicht.
UTF-8 mit BOM liefert in Java nichts, null, niente, in Delphi dann so wie ich es gerne hätte.


Was jetzt? Ich müsste doch jetzt der mit UTF-8 gespeicherten Datei vor oder beim einlesen in Delphi ein BOM verpassen? Oder wie?

creehawk

sh17 30. Mär 2021 09:20

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
ASCII ist aber nicht gleich UTF-8

creehawk 30. Mär 2021 09:33

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Ok. Kann ja sein. Fakt ist aber das JAVA UTF8 mit BOM nicht liest, Delphi aber UTF8 mit BOM falsch liest. Und das JAVA Programm kann ich nicht ändern.

creehawk

Redeemer 30. Mär 2021 10:02

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Seit wann funktioniert UTF-8 ohne BOM nicht in Delphi?
Code:
LoadFromString('wuppdi.txt', TEncoding.UTF8)
ist egal, ob da ein zero width no-break space (BOM) am Anfang ist. Ohne Encoding ist das Vorhandensein der BOM hingegen verpflichtend.

sh17 30. Mär 2021 10:58

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Dann erzeuge doch in Delphi einen Stream mit BOM und lösche dann die ersten 3 Byte.

Bernhard Geyer 30. Mär 2021 11:02

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Java arbeitet an vielen Stellen mit UTF8, aber ohne BOM.
Also musst du das machen was sh17 vorschlägt.
Beim Laden umgekehrt. BOM im Stream ergänzen

creehawk 30. Mär 2021 11:25

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Tja, das habe ich zunächst mal zu Fuß gemacht (via HexEditor)und es funktioniert. Hatte ich jetzt nicht gedacht.

Ich habe bisher in Delphi allerdings nicht mit Streams gearbeitet. Wo finde ich da ein Beispiel um eben die bewustten 3 Byte vorne abzuscheiden und das wieder zu speichern?

creehawk

sh17 30. Mär 2021 11:32

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
https://stackoverflow.com/questions/...ning-of-a-file

creehawk 30. Mär 2021 11:37

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
Ich bin ja jetzt nicht neugierig, aber was hast du als Suchbegriff verwendet ?

creehawk

sh17 30. Mär 2021 11:40

AW: UTF8 und UTF8 mit BOM und dann auch noch Java
 
delphi stream byte delete


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:27 Uhr.
Seite 1 von 4  1 23     Letzte » 

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf