2014-12-27 58 views
0

我的课程作业的电子邮件客户端,我使用POP3接收电子邮件字符串,如:解码电子邮件主题字符串UTF-8

主题:???= UTF-的8B 6L + Z5piv5Li76aKY ?=

然后我用一个正则表达式使用Base64抓取6L + Z5piv5Li76aKY,对其进行解码,以及我的Eclipse工作区是UTF-8。这表明,如:L_/Y + ...,但它的本来中国这是主题

我怎样才能显示它是否正确?电子邮件的内容运行良好,并且使用Base64和UTF-8编码,但该主题无法工作。

下面是代码

if (buf.startsWith("Subject:")) { 

    String regex = "=\\?UTF-8\\?B\\?(.*)\\?="; 
    Pattern p = Pattern.compile(regex); 
    Matcher m = p.matcher(buf); 
    while (m.find()) { 
     subject = MyBase64.getFromBASE64(m.group(1)); 
    } 

    subject = MyBase64.getFromBASE64(buf.substring(8)); 
    System.out.println(subject); 
} 

回答

0

嗯,我的方法是正确的。 我只是犯了一个愚蠢的错误〜对不起:D

+1

也许你可以分享你的修复? – starf 2014-12-27 16:05:56