AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

UTF-8 nach ASCII (die 1000ste)

Ein Thema von ernschd · begonnen am 21. Feb 2017 · letzter Beitrag vom 22. Feb 2017
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 09:42
Übergibst du OemToCharA denn auch einen AnsiString und keinen String?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#2

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 09:51
Delphi-Quellcode:
function OEM2Ascii(const OEMString: AnsiString): AnsiString;
begin
  Result := OEMString;
  if Result <> 'then
    OemToCharA(PAnsiChar(Result), PAnsiChar(Result));
end;
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 10:01
Aufruf?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#4

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 10:08
Delphi-Quellcode:
function GetFieldByName(const FieldName: string): String;
var s: String;
begin
    s := Utf8ToAnsi(GetFields(self.GetFieldIndex(FieldName)));
    if FIsAscii then s := OEM2Ascii(S);
    Result := s;
end;
Der Rückgabewert der Methode GetFields liefert einen String.

Geändert von ernschd (21. Feb 2017 um 10:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 10:37
Zitat:
was leider nicht funktioniert.
Und das bedeutet?




Zitat:
Delphi-Quellcode:
function GetFieldByName(const FieldName: string): String;
var s: String;
begin
    s := Utf8ToAnsi(GetFields(self.GetFieldIndex(FieldName)));
    if FIsAscii then s := OEM2Ascii(S);
    Result := s;
end;
Utf8ToAnsi und dann in den String macht daraus wieder Unicode, aber nachdem Utf8ToAnsi für Informationsverlust gesorgt hat.
Delphi-Referenz durchsuchenUTF8ToString
Und dann wird das Unicode nach ANSI umgewandelt und an OEM2Ascii übergeben.

Was gibt GetFields für einen Typ zurück?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Feb 2017 um 10:40 Uhr)
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#6

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 10:53
Bedeutet, dass ich BšCHER (ASCII) benötige, aber entweder BÜCHER (ANSI/Unicode) oder B_CHER bekomme.

GetFields liefert einen String.
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 10:53
Kannst du deine Texte nicht einer TStringList unterbringen, und mit TEncoding.ASCII als zusätzlichem Parameter abspeichern?

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#8

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 11:03
Das wäre natürlich das einfachste, aber dafür müsste ich recht viele alte Units ändern, in denen direkt in eine Datei geschrieben wird, und der Aufwand dafür ist dann doch zu hoch.
  Mit Zitat antworten Zitat
Antwort Antwort

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 +1. Es ist jetzt 04:47 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