如何在Java中转换编码的电子邮件地址?

问题描述:

如果我在下面的格式收到emailAddress如何在Java中转换编码的电子邮件地址?

example%40gmail.com 

在Java中如何将其转换成这样:

[email protected] 

这可能是你想要的,我没有机会测试它,以确保你有什么是一个网址编码项目:

http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLDecoder.html

这可能是一个有点简单化,但你可以尝试:

email = myEmailAddress.getAddress(); 
email.replace("%40", "@"); 
myEmailAddress.setAddress(email); 
+0

我不知道,这将适用于所有情况,但(可能不是),使用解码器比较好其他答案这么一个。 – MirroredFate 2011-06-07 16:32:50

使用URLDecoder.decode(String s, String enc)监守URLDecoder.decode(String s)将Java 1.5中已被弃用。

下面是代码来测试你的情况:

@Test 
public void testUrlDecoder() throws UnsupportedEncodingException { 
    String encodedStr = "example%40gmail.com"; 
    String decodedStr = URLDecoder.decode(encodedStr, "UTF-8"); 
    assertEquals("[email protected]", decodedStr); 
}