2014-12-27 60 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