AGB  ·  Datenschutz  ·  Impressum  







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

iso-8859-1 To String

Ein Thema von Hobbycoder · begonnen am 2. Jan 2018 · letzter Beitrag vom 5. Jan 2018
Antwort Antwort
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#1

iso-8859-1 To String

  Alt 2. Jan 2018, 18:06
Hi,

wie wandele ich sodas:
Code:
=?iso-8859-1?B?cmv8YiBQbHVzIE5ld3NsZXR0ZXIgIC0gVGVzdHBoYXNlIHZlcmzkbmdlcnQ=?=
oder sowas
Code:
***SPAM*** =?iso-8859-1?Q?Angebot_Toner_Po=DF_B=FCrotechnik_?=
aber auch sowas
Code:
=?utf-8?Q?Lieferavis=20=20f=C3=BCr=20Lieferschein=2015607478=20vom?=
sinnvoll in einen vernünftig lesbaren String um? Gibt's das was bei den Indys?
Ich habe das nicht aus einer TMessage, sondern aus einer Textdatei. Es können auch noch andere Kodierungen vorkommen.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:13
Was heißt für dich "vernünftig lesbar"?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:14
Erstmal nach allen =? ... ?= im Text suchen, das dazwischen rauskopieren, bzw. den gesamten Text an diesen Grenzen auftrennen.

Das dazwischen an den ? splitten
1 Encoding
2 Quoting B oder Q ?
3 codierter Text

Bei Q vorher den Text dequoten
und dann MSDN-Library durchsuchenMultiByteToWideChar oder besser TEncoding.
Und natürlich brauchst du noch eine Übersetzungstabelle von Encoding-Bezeichner zu Codepage.
Anschließend das gefundene =? ... ?= im Gesamttext ersetzen, bzw. alles als Unicode neu zusammensetzen.

Für Dequoten und Bezeichner-zu-Codepage sollte sich in INDY irgendwo was finden lassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#4

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:39
Kannst du mir das noch ein wenig verdeutlichen?

Was bedeutet B oder Q? Bei B ist der ganze Text codiert und bei Q nur die Länderspeziefischen Zeichen?

Wenn ich unter TEncoding in der D-Hilfe schaue, dann sieht das so aus, als ob iso-8859-1 damit nicht ginge. Ist das richtig? Dann müsste ich ja im Grund immer MultiByteToWideChar nehmen, damit das einigermaßen universell funktioniert.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#5

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:40
Was heißt für dich "vernünftig lesbar"?
Hm..ist das nicht verständlich?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:41
Zitat:
Dann müsste ich ja im Grund immer MultiByteToWideChar nehmen, damit das einigermaßen universell funktioniert.
Ich hatte mal ein ähnliches Problem. Ich bin auf UTF8 beim Lesen und Schreiben umgestiegen.
Wenn es selbst dann Probleme gibt, hat der Nutzer in den Daten rumgepfuscht oder die Daten sind anderweitig kaputt.

Zitat:
Hm..ist das nicht verständlich?
Ne, weil die Fragezeichen könnten auch Absicht sein
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#7

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 18:46
Zitat:
Dann müsste ich ja im Grund immer MultiByteToWideChar nehmen, damit das einigermaßen universell funktioniert.
Ich hatte mal ein ähnliches Problem. Ich bin auf UTF8 beim Lesen und Schreiben umgestiegen.
Wenn es selbst dann Probleme gibt, hat der Nutzer in den Daten rumgepfuscht oder die Daten sind anderweitig kaputt.
Ich schreibe die Daten ja nicht selbst. Ich lese die aus einer Textdatei. Genaugenommen ist das das mbox-format, welches Thunderbird zum speichern der E-Mail verwendet. Und bei den Beispielzeilen handelt es sich um Betreffzeilen, die Thunder so gespeichert und möglicherweise auch so empfangen hat.

Zitat:
Hm..ist das nicht verständlich?
Ne, weil die Fragezeichen könnten auch Absicht sein [/QUOTE]
Ich denke sie dienen als Quotes und Text von Formatoptionen zu trennen. Wenn dann noch ein ? im Text vorkommen würde, dann wäre das sicher codiert.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Delphi.Narium

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

AW: iso-8859-1 To String

  Alt 2. Jan 2018, 19:03
Das sind wohl Texte aus Mails. Die sind mime-codiert.

Eventuell kommst Du ja mit TIdDecoderMIME von den Indys weiter.

https://stackoverflow.com/questions/...-utf-8-strings
https://juststrcpy.wordpress.com/200...-for-delphi-1/
http://theprofessionalspoint.blogspo...in-delphi.html
http://www.delphipraxis.net/991-base...-decoding.html

Oder mal nach delphi source decode mime suchen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: iso-8859-1 To String

  Alt 3. Jan 2018, 20:13
Was bedeutet B oder Q? Bei B ist der ganze Text codiert und bei Q nur die Länderspeziefischen Zeichen?
Keine Ahnung?

Vermutlich Binär Base64 und Quote
=?iso-8859-1?B?cmv8YiBQbHVzIE5ld3NsZXR0ZXIgIC0gVGVzdHBoYXNlIHZlcmzkbmdlcnQ=?=
***SPAM*** =?iso-8859-1?Q?Angebot_Toner_Po=DF_B=FCrotechnik_?=
=?utf-8?Q?Lieferavis=20=20f=C3=BCr=20Lieferschein=2015607478=20vom?=
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 3. Jan 2018 um 20:20 Uhr)
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#10

AW: iso-8859-1 To String

  Alt 5. Jan 2018, 16:53
Alle klar.
B=Base64 Q=Qouted-Printable.

Ich hab das jetzt auch hinbekommen. Da ich eh nur die Betreffzeilen lesbar haben wollte, reicht mir das völlig.
Danke an alle.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  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 10: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