AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Konvertiere ü zu ü - gibt es da was?

Konvertiere ü zu ü - gibt es da was?

Ein Thema von taaktaak · begonnen am 3. Okt 2016 · letzter Beitrag vom 4. Okt 2016
Antwort Antwort
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.983 Beiträge
 
Delphi 7 Professional
 
#1

Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 20:15
Moin, Moin.
Ich erhalte von einer anderen (alten) Anwendung Strings, die z.B. das in der Überschrift angeführte ü enthalten können (oder ö, oder ...). Die Strings möchte ich in meiner (Delphi7-)Anwendung natürlich möglichst korrekt anzeigen. Da das Grundthema mir bisher völlig fremd geblieben ist, helfe ich mit derzeit sehr stümperhaft mit einer Reihe von StringReplace() um z.B. ö in ö umzuwandeln.
Gibt es für Delphi7 auch eine fachmännische Lösung?
Ralph
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.798 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 20:22
Unicode-Komponenten

http://www.delphipraxis.net/175267-d...ig-machen.html
Markus Kinzler

Geändert von mkinzler ( 3. Okt 2016 um 20:24 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 21:14
Oder UTF8ToAnsi('ö'); wenn es denn tatsächlich UTF 8 sein sollte, was ich bei einer alten Anwendung bezweifle.

Alte Anwendungen könnten aber auch noch den OEM-Zeichensatz nutzen, dann wäre aber wohl eher sowas angesagt:
Delphi-Quellcode:
function OemToAnsi(const S: string): string;
begin
  SetLength(Result, Length(S));
  if S <> 'then OemToAnsiBuff(@S[1], @Result[1], Length(S));
end;

function AnsiToOem(const S: string): string;
begin
  SetLength(Result, Length(S));
  if S <> 'then AnsiToOemBuff(@S[1], @Result[1], Length(S));
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.604 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 22:16
OEM ist och nur 'nen Single-Char-Zeichensatz und hier hat das ö zwei Zeichen, die stark nach UTF-8 ausshen ... Umlaute fangen da fast immer mit à an.

Sieht eher nach UTF-8 aus.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.673 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 3. Okt 2016, 22:24
Es handelt sich bei der Sequenz ü tatsächlich um die ANSI-Darstellung einer UTF-8 Sequenz für das kleine ü.

ü entspricht Hex C3 BC oder binär 1100 0011 1011 1100. Die 110 leiten eine 2-Byte UTF-8 Sequenz ein, deren zweites Byte mit 10 beginnt. Die restlichen Bits verbleiben mit 00011 11 1100, was auf Bytes formatiert 00 1111 1100 oder Hex FC entspricht, also dem kleinen ü im Windows Zeichensatz 1252.

Mit UTF8ToAnsi solltest du bei Delphi 7 also auf dem richtigen Weg liegen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.983 Beiträge
 
Delphi 7 Professional
 
#6

AW: Konvertiere ü zu ü - gibt es da was?

  Alt 4. Okt 2016, 06:30
Moin, Moin.
Mit UTF8ToAnsi() werden alle bisher vorliegenden "Sonderfälle" korrekt umgewandelt; damit habe ich die erhoffte schnelle und unkomplizierte Lösung und kann mich wieder den mir wesentlichen Dingen zuwenden.
Vielen Dank für die Antworten.
Ralph
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 06:44 Uhr.
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