Quoted-printable-Verfahren

Servus,

Ich habe geschwankt zwischen diesem und den Programmierforum, ich denke aber es ist hier eher richtig aufgehoben.

Code:
public void getMails() throws Exception{
      Properties props = new Properties();
      props.put("pop3.web.de",host);
      Session session = Session.getDefaultInstance(props,null);
      session.setDebug(true);
      Store store = session.getStore("pop3");
      store.connect(host,user,pass);
      Folder folder = store.getFolder("INBOX");
      folder.open(Folder.READ_ONLY);
      Message[] message = folder.getMessages();
      for(int i = 0, n = message.length; i < n; i++){
         System.out.println(i+" "+message[i].getFrom()[0]+"  "+
                             message[i].getSubject());
         System.out.println(message[i].getContent().toString());
      }

Das Problem ist, manche Ausgabe sehen wir folgt aus :

From: =?utf-8?q?Rudolph Rowrclo?= <communicatebra@icagen.com>

Das Problem ist,dass man bei E-mails ursprünglich nur ASCII-7 verwenden durfte. Deshalb werden alle Zeichen größer ASCII Wert 127 mit dem Quoted-printable-Verfahren kodiert. Die Frage nun an euch, wie dekodiert man dies. Gesucht habe ich natürlich, aber eine konkrete Aussageb ist mit lieber als historischer Hintergrund.
 
Ich zerleg' das mal:

=? Hier fängt etwas codiertes an.

utf-8? Etwaige codierte Zeichen sind durch Zeichen aus diesem Zeichensatz ersetzen.

q? Codierung, in diesem Fall quoted printable, b stünde z.B. für Base64

Rudolph Rowrclo Falls hier Zeichenketten der Form =XY auftauchen, sind sie durch das korrespondierende Zeichen mit dem (Hex-)Wert XY im genannten Zeichensatz zu ersetzen.

?= Hier ist Schluss mit Codierung.
 
Zurück
Oben