AGB  ·  Datenschutz  ·  Impressum  







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

Mal wieder Unicode

Ein Thema von hoika · begonnen am 14. Nov 2016 · letzter Beitrag vom 14. Nov 2016
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

Mal wieder Unicode

  Alt 14. Nov 2016, 15:49
Hallo,
Outlook schickt mir u.a. folgenden Text als Lesebestätigung:

=?UTF-8?Q?Heiko_L=C3=BCttge?
Original Heiko Lüttge (klar )

Wie bekomme ich den konvertiert?

Utf8Decode klappt nicht
Utf8ToAnsi klappt nicht
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Mal wieder Unicode

  Alt 14. Nov 2016, 15:59
Das ist quoted base64 encoded (?UTF-8?Q?). Siehe z.b. RFC 1342 sowie die Indy-Klasse TIdEncoderQuotedPrintable.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Mal wieder Unicode

  Alt 14. Nov 2016, 16:21
Hallo,
danke, bringt mich etwas weiter aber nicht viel ...

TIdEncoderQuotedPrintable.Decode sieht merkwürdig aus.
procedure TIdEncoderQuotedPrintable.Decode(ASrcStream: TStream; const ABytes: Integer = -1); override;

Wo ist der Zielparameter?

TIdDecoder soll man wohl auch nicht selbstständig benutzen.


Das Indy ist sowas von ;( Mensch, aber geht ja fast alles, aber halt dauert es oft etwas.
Heiko

Geändert von hoika (14. Nov 2016 um 17:25 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Mal wieder Unicode

  Alt 14. Nov 2016, 16:41
DecodeString(..) statt Decode(..)

Delphi-Quellcode:
program Project17;

{$APPTYPE CONSOLE}
{$R *.res}

uses System.SysUtils, IdGlobal, IdCoder, IdCoderQuotedPrintable;

const
   input = '=?UTF-8?Q?Heiko_L=C3=BCttge?';
var
   encoder:   TIdDecoder;
   encoding:   IIdTextEncoding;
begin
   encoding := IndyTextEncoding_UTF8();
   // oder encoding := IndyTextEncoding(TEncoding.UTF8);

   encoder := TIdDecoderQuotedPrintable.Create(nil);
   try
      Write(input);
      Write(' -> ');
      Write( encoder.DecodeString(input, encoding) );
   finally
      encoder.Destroy();
   end;
   readln;

end.
=>

Code:
=?UTF-8?Q?Heiko_L=C3=BCttge? -> ?UTF-8?Q?Heiko_Lüttge?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Mal wieder Unicode

  Alt 14. Nov 2016, 16:53
Hallo,
danke,
ich bin doch schon weiter.
Die Quellen sind sehr aussagefähig, man muss sich nur durchhangeln ...

Nach dem Retreive kommt man per

Delphi-Quellcode:
AMsg: TIdMessage;

AMsg.FromList[0].Name
AMsg.FromList[0].Address
an die "entschlüsselten" Werte ran.
Heiko

Geändert von hoika (14. Nov 2016 um 17:02 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 04:29 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