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
Seite 2 von 2     12   
Redeemer

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

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 22: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
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#12

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 22:33
Wenn ich das recht verstanden habe, wird im Zielsystem ein Zeichensatz für den MAC erwartet und kein UFT8.

Wenn man also aus 'ner Delphi-2006-Zeichenfolge UTF8 macht, braucht man immernoch eine Umwandlung von UFT8 auf den MAC-Zeichensatz. Müsste in die "Konvertierkette" also noch 'nen MAC einbauen, bzw. die gelieferten Dateien auf dem MAC erst noch konvertieren.

Bin als Kunde jetzt aber mal dreist: Ich erwarte vom Lieferanten den von mir gewünschten Zeichensatz. Der Zweizeiler wäre hier daher (vermutlich) nur die halbe Miete. Oder hab' ich die Aufgabenstellung nicht verstanden?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 22: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Dez 2017 um 22:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Zeichencodierung Mac vs Windows

  Alt 14. Dez 2017, 23:56
Habe ich da was falsch verstanden? Es geht darum einen 8Bit Zeichensatz in einen anderen zu überführen.
Wie wäre es dann mit
Delphi-Quellcode:
case byte(inchar) of
  259 : outchar:=159;
  etc.
end;
oder gleich eine Übersetzungstabelle:
Delphi-Quellcode:
var
  ubersetzungstabelle = Array [0..255] of Byte;

ubersetzungstabelle[259]:=159;
...
macstring:=winstring;
for i:=1 to length(macstring) do
  Byte(macstring[i]):=ubersetzungstabelle[byte(macstring[i]);
Solange eine 1:1 Umsetzung möglich ist, sollte das funktionieren.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Zeichencodierung Mac vs Windows

  Alt 15. Dez 2017, 08:21
Ja, die Übersetzungstabelle ist das Gespenst, vor dem ich davonlaufen wollte.

Höchste Zeit D2006 loszuwerden.

Danke für die Tipps!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:47 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