码迷,mamicode.com
首页 > 编程语言 > 详细

java URLEncoder 和Base64.encode()

时间:2016-12-26 11:56:56      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:ack   urlencode   try   nbsp   doc   detail   href   void   details   

参考:

http://www.360doc.com/content/10/1103/12/1485725_66213001.shtml (URLEncode)

http://blog.csdn.net/uikoo9/article/details/27981219

计算机中的数据都是二进制的,不管是字符串还是文件,而加密后的也是二进制的,

而我们要看到的往往是字符串,本文就介绍了将byte[]转为各种进制以及base64编码。

 

是一种编码方式,可以理解为复杂的进制,很多算法加密后输出的都是byte[],而这个byte[]对我们显示的形式是不友好的(乱码),

所以一般都是转为base64的,当然也可以转为其他进制。

public static void main(String[] s){
String sss = "Aa123Aa程序";
byte[] bytes = null;
try {
bytes = sss.getBytes("UTF-8");
for(byte b: bytes){
System.out.print(b+"(#)");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}


String encode;
try {

encode = Base64.encode(bytes);
System.out.println("\nBase64.encode 结果: " + encode);
byte[] bytess = Base64.decode(encode);
for(byte b: bytess){
System.out.print(b+"(#)");
}
String sss2 = new String(bytess, "UTF-8");
System.out.print("\nsss2 === "+ sss2);

sss = "Aa123 Aa程序#程序*程序+and程序";
encode = java.net.URLEncoder.encode(sss, "UTF-8");
System.out.println("\njava.net.URLEncoder 结果: " + encode);
String sss3 = URLDecoder.decode(encode, "UTF-8");
System.out.println("\njava.net.URLDecoder 结果: " + sss3);
} catch (Exception e) {
e.printStackTrace();
}

运行结果:

65(#)97(#)49(#)50(#)51(#)65(#)97(#)-25(#)-88(#)-117(#)-27(#)-70(#)-113(#)
Base64.encode 结果: QWExMjNBYeeoi+W6jw==
65(#)97(#)49(#)50(#)51(#)65(#)97(#)-25(#)-88(#)-117(#)-27(#)-70(#)-113(#)
sss2 === Aa123Aa程序
java.net.URLEncoder 结果: Aa123+Aa%E7%A8%8B%E5%BA%8F%23%E7%A8%8B%E5%BA%8F*%E7%A8%8B%E5%BA%8F%2Band%E7%A8%8B%E5%BA%8F

java.net.URLDecoder 结果: Aa123 Aa程序#程序*程序+and程序

java URLEncoder 和Base64.encode()

标签:ack   urlencode   try   nbsp   doc   detail   href   void   details   

原文地址:http://www.cnblogs.com/xiaozhuan/p/6221712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!