Laden...

Qouted-Printable Enocding?!

Erstellt von Tweak90 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.842 Views
T
Tweak90 Themenstarter:in
24 Beiträge seit 2012
vor 11 Jahren
Qouted-Printable Enocding?!

Hallöchen mal wieder,
nach langer Google und Forensuche komme ich nun in letzter Instanz mal wieder hier her. Meine Frage:
Wie kriege ich einen String Quted-Printable ( UTF-8 ) encodiert?

Also ich habe folgenden Beispielstring:

abcdefghijklmnopqrstuvwxyz ,.-;:_#+'~><|1234567890,-/+`´!"§$%&/()=?²³{[]}^°€®©

welcher encodiert so:

abcdefghijklmnopqrstuvwxyz ,.-;:_#+'~><|1234567890,-/+`=C2=B4!"=C2=A7$%&/=
()=3D?=C2=B2=C2=B3{[]}^=C2=B0=E2=82=AC=C2=AE=C2=A9

aussehen würde....

wie bekomme ich das mit CSharp als "Neuling" am besten hin? Die Dekodierung war interessanterweise überhaupt kein problem, so kann ich mit meinem Programm aus dem 2en Text locker den oberen Text decodieren. Dafür nutze ich die Klassen von chilKat (http://www.chilkatsoft.com).

Nur das Enkodieren will nicht. Ich lege mir einen chilkat.ckstring an, übergebe über setStirng den Text und rufe dann qpEncode auf.
wenn ich mir den Encodierten String aber zurückgeben lasse erhalte ich folgenden Text:

abcdefghijklmnopqrstuvwxyz ,.-;:_#+'~><|1234567890,-/+`=C2=B4!"=C2=A7$==0D=0A%&/()=3D?=C2=B2=C2=B3{[]}^=C2=B0=E2=82=AC=C2=AE=C2=A9

welcher decodiert dann so aussieht:

abcdefghijklmnopqrstuvwxyz ,.-;:_#+'~><|1234567890,-/+`´!"§$

Zum Vergleich:

abcdefghijklmnopqrstuvwxyz ,.-;:_#+'~><|1234567890,-/+´!&quot;§$ abcdefghijklmnopqrstuvwxyz ,.-;:_#+*&#39;~&gt;&lt;|1234567890,-*/+´!"§$%&/()=?²³{[]}^°€®©

Es fehlt also einiges...

Wenn ich den Text mehrmals hintereinander eingebe, egal ob mit leerzeichen oder mit absätzen oder sonst wie, so kommt auch immernur der eine Text und dieser bis zum $ Zeichen zurück....

Der Codierte Text enthält jedoch alles:

abcdefghijklmnopqrstuvwxyz ,.-;:#+'~><|1234567890,-/+=C2=B4!&quot;=C2=A7$==0D=0A%&amp;/()=3D?=C2=B2=C2=B3{[]}\^=C2=B0=E2=82=AC=C2=AE=C2=A9=0D=0Aabcdefghijklmnopqrstuvwxyz ,.-;:_#+*&#39;~&gt;&lt;|1234567890,-*/+=C2=B4!"=C2=A7$==0D=0A%&/()=3D?=C2=B2=C2=B3{[]}^=C2=B0=E2=82=AC=C2=AE=C2=A9=0D=0Aabcdefghijklmnopqrstuvwxyz ,.-;:#+'~><|1234567890,-/+`=C2=B4!"=C2=A7$==0D=0A%&/()=3D?=C2=B2=C2=B3{[]}^=C2=B0=E2=82=AC=C2=AE=C2=A9

Brauche des für meine Anwendung weil diese eigentlich kaum etwas anderes machen soll als ein Dokument zu zerlegen, gewisse Eigenschaften wie Datum usw welche auch im text stehen auszugeben und halt den Body in lesbarer Form zurückgeben.

Hoffe hier hat wer ne Idee und vllt auch nen Codebeispiel für mich - würde mich freuen.

Liebe Grüße
Tweak90 :rtfm:

T
Tweak90 Themenstarter:in
24 Beiträge seit 2012
vor 11 Jahren

Als kleiner Add:
http://www.webatic.com/run/convert/qp.php

die seite macht genau das was ich möchte 😛

1.696 Beiträge seit 2006
vor 11 Jahren

Hallo,

schaue dir das mal an: Binary to Text Encode/Decode Class

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

T
Tweak90 Themenstarter:in
24 Beiträge seit 2012
vor 11 Jahren

Danke für die Antwort, doch das hilft mir net weiter... UTF_8 charset ist vorraussetzung, es sind also immer 2 Parts "=A=B" zB....

EDIT*
Das Problem scheint hier zu liegen:
==0D=0A
Warum da 2 gleich zeichen stehen ist mir n rätsel...

T
Tweak90 Themenstarter:in
24 Beiträge seit 2012
vor 11 Jahren

Ich glaube ich habe den Fehler gefunden und gelößt, ich schreibe den Encodierten Text in eine einzige Line (Appendline) und ersetze dafür manuell die \n\r durch den enstprechenden Zeichensatz, das ist Schwachsinn... ich kann es leider erst zuhause testen, werde hier aber dann meine Lösung präsentieren sollte es so funktionieren 😉

Tweak90

1.696 Beiträge seit 2006
vor 11 Jahren

EDIT*
Das Problem scheint hier zu liegen:
==0D=0A
Warum da 2 gleich zeichen stehen ist mir n rätsel...

Vielleicht weil du die Definition von Quoted Printable nicht beachtet hast, welche besagt, dass die Länge einer Zeile auf 76 Zeichen begrenzt ist und deswegen das = Zeichen in der 75. Position vor dem Zeilenumbruch zu stehen hat.

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

T
Tweak90 Themenstarter:in
24 Beiträge seit 2012
vor 11 Jahren

Danke für den Hinweis 😃 das hilft 😃