Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Zeichencodierung Mac vs Windows (https://www.delphipraxis.net/194621-zeichencodierung-mac-vs-windows.html)

TigerLilly 13. Dez 2017 14:22

Zeichencodierung Mac vs Windows
 
Ich bin über folgendes Problem gestolpert + etwas ratlos :- (

Mein Programm ist ein Windows-Programm + erzeugt eine Textdatei, die ein Kunde am Mac weiterverarbeiten will. Dazu hat er mir eine Beispieldatei geschickt.

In meiner Windows-Datei ist das "ü" als FC bzw #252 kodiert.
In der Mac-Datei ist das "ü" als 9F bzw #159 kodiert.

Das ist bei den anderen Sonderzeichen ähnlich. Wie konvertiere ich in Delphi meine Strings am besten Mac-kompatibel?
Oder gibt es da eine andere Möglichkeit?

Danke für hilfreichen Input!

Union 13. Dez 2017 14:31

AW: Zeichencodierung Mac vs Windows
 
Das ist Mac OS Roman, CP 10000 unter Windows.

himitsu 13. Dez 2017 15:11

AW: Zeichencodierung Mac vs Windows
 
Wer liest diese Textdatei wieder ein? (womit "weiterverarbeiten")

UTF-8 mit BOM verstehen eigentlich beide Seiten.

TigerLilly 13. Dez 2017 18:00

AW: Zeichencodierung Mac vs Windows
 
Hier wird eine CSV Datei erzeugt, die in Indesign gefüttert wird. Wahrscheinlich gibt es da eh irgendein Format, das die Windows-Codierung lesen kann.

UTF-8 kann ich auch probieren.

Aber ich frag mich, wo sowas noch auftauchen kann.

himitsu 13. Dez 2017 18:58

AW: Zeichencodierung Mac vs Windows
 
Bei Allem mit ANSI und undefinierter CodePage.
In Windows hängt die ANSI-CodePage von der System-Sprache des aktiven Benutzers ab.

TigerLilly 14. Dez 2017 07:03

AW: Zeichencodierung Mac vs Windows
 
Ich habe "Codepage" bisher immer so verstanden, dass die Codepage festlegt, wie Zeichen > 128 dargestellt werden.

Mein Problem ist ja, dass ich ein Windows-ü (#252) habe, das in eine Textdatei schreiben möchte + dort aber ein Mac-ü (#159) stehen soll.

Hilft mir da die LOCALE_IDEFAULTMACCODEPAGE weiter? Kann ich die dargestellten Buchstaben in eine andere Codepage transformieren?

Rollo62 14. Dez 2017 08:24

AW: Zeichencodierung Mac vs Windows
 
Vielleicht hilft dir das weiter:
https://mathiaspannier.wordpress.com...nicode-string/
http://www.delphipraxis.net/169284-g...odestring.html

Was der MAC damit macht kann ich aber nicht sagen.

Rollo

himitsu 14. Dez 2017 10:07

AW: Zeichencodierung Mac vs Windows
 
Delphi-Referenz durchsuchenTEncoding
Und nun rate mal, wozu viele Speicherfunktionen einen Parameter damit besitzen. :zwinker:

Du erstellst dir eine TEncoding-Instanz mit der passenden Codepage und speicherst damit oder kannst damit einen Text konvertieren.


Zitat:

Ich habe "Codepage" bisher immer so verstanden, dass die Codepage festlegt, wie Zeichen > 128 dargestellt werden.

Mein Problem ist ja, dass ich ein Windows-ü (#252) habe, das in eine Textdatei schreiben möchte + dort aber ein Mac-ü (#159) stehen soll.
128 < 252
128 < 159
passt

Nein, es gibt auch Codepages, wo auch Zeichen unterhalb von 128 anders sind.
Und es gibt auch Multibyte-Zeichensätze, angefangen mit UTF-8 und natürlich auch Russische, Chinesische usw., wo es mehr Zeichen gibt und die 128..255 nicht annähernd ausreichen.


Nimm dir mal das Programm Charmap (Zeichentabelle) und schau dir Symbol, Webbings, Wingdings und das berühmte Marlett an.
(Wer erkennt die alten Win3.x und Win9x Icons Symbole von den Buttons der Titelleiste und Scrollbars? :lol:)

TigerLilly 14. Dez 2017 20:48

AW: Zeichencodierung Mac vs Windows
 
Zitat:

TEncoding
Ja das wär´s, aber da gibt's ein Problem: das ist eine Legacy-App mit Delphi 2006 + da gibt es TEncoding noch nicht.

Delphi.Narium 14. Dez 2017 21:17

AW: Zeichencodierung Mac vs Windows
 
Ist hier in Kombination eventuell ein Lösungsansatz zu finden?

https://stackoverflow.com/questions/...th-indy-10-5-9

http://originaldll.com/file/iconv.dll/18968.html

https://dbaportal.eu/2012/10/24/iconv-for-windows/

https://sourceforge.net/projects/get...v-win32/1.9.1/


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr.
Seite 1 von 2  1 2      

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