Java:为什么这段加密代码会报错呢?求解

importjava.io.UnsupportedEncodingException;publicclassDemo{publicstaticvoidmain(Strin... import java.io.UnsupportedEncodingException;

public class Demo {
public static void main(String[] args) {
try {
String tmp=java.net.URLEncoder.encode("douya0808","base64");
System.out.println("加密:"+tmp);
String result=java.net.URLDecoder.decode(tmp,"base64");
System.out.println("解密:"+result);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}

报错如下:

java.io.UnsupportedEncodingException: base64
at java.net.URLEncoder.encode(URLEncoder.java:200)
at servlet.Demo.main(Demo.java:8)
展开
 我来答
小蔡先生向前冲
2014-03-20 · 超过17用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:37.4万
展开全部
具体我不知道怎么解决 不过意思就是encode没有base64的编码格式 base64在java里好像没有 所以会报错 base64可手写 请参考 http://baggioback.iteye.com/blog/1828289
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
2014-03-20 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
您好,提问者:
Java没有base64这个,可以填写GBK、UTF-8等。
更多追问追答
追问
但是现在需要对URL进行编码、解码,不想要名文显示该用哪个编码呢
追答
百度的是GBK,不过也对UTF-8进行了处理。
建议使用GBK加密进行传输。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
artintin
2014-03-20 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2830万
展开全部
缺包charsets.jar
追问
加了也报
追答
可能放置位置不对,也可能是包不对
试试下面代码
import java.io.UnsupportedEncodingException;

import org.apache.commons.codec.binary.Base64;

public class Base64Test {

public static void main(String[] args){

String str = "douya0808";
try{

byte[] encodeBase64 = Base64.encodeBase64(str.getBytes("UTF-8"));

System.out.println("RESULT: " + new String(encodeBase64));

} catch(UnsupportedEncodingException e){

e.printStackTrace();

}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式