AGB  ·  Datenschutz  ·  Impressum  







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

Zeichencodierung Mac vs Windows

Ein Thema von TigerLilly · begonnen am 13. Dez 2017 · letzter Beitrag vom 15. Dez 2017
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Zeichencodierung Mac vs Windows

  Alt 13. Dez 2017, 18:58
Bei Allem mit ANSI und undefinierter CodePage.
In Windows hängt die ANSI-CodePage von der System-Sprache des aktiven Benutzers ab.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 07:03
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?
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.176 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 08:24
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 10:07
Delphi-Referenz durchsuchenTEncoding
Und nun rate mal, wozu viele Speicherfunktionen einen Parameter damit besitzen.

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? )
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Dez 2017 um 10:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 20:48
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.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#6

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 21:17
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/
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 21:25
Das ist nicht so schwer:
Code:
StringList.Text := UTF8Encode(StringList.Text);
StringList.SaveToFile('bla.txt');
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 21:48
UTF-8 war unter der Annahme, dass das ZielSystem damit auch umgehen kann.


MSDN-Library durchsuchenMultiByteToWideChar
MSDN-Library durchsuchenWideCharToMultiByte

Erstmal deinen Text nach Unicode (WideString vor Delphi 2009) und dann in die gewünschte CodePage.
ANSI mit Codepage X > Unicode (WideChar) > ANSI mit Codepage Y
Ab Delphi 2009 hast du bereits standardmäßig Unicode und der erste Schritt kann entfallen, außer man hat explizit AnsiString gearbeitet, dann ändert sich nichts.


Zitat:
StringList.Text := UTF8Encode(StringList.Text);
Und ab Delphi 2009 raucht dieser Code dann grandios ab.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Dez 2017 um 21:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:32 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