java base64解码 怎么是乱码呢

作者&投稿:臧欧 (若有异议请与网页底部的电邮联系)
java base64解密乱码问题 代码如下:~

private String getPictureString() { String upload = ""; try { FileInputStream in = new FileInputStream(fileName); byte[] ba = new byte[in.available()]; in.read(ba); in.close(); upload = new String(android.util.Base64.encode(ba, android.util.Base64.DEFAULT)); } catch (FileNotFoundException e) { LogUtil.e(e.getMessage(), e); } catch (IOException e) { LogUtil.e(e.getMessage(), e); } return upload; }
这个是加密
解密就是
encode换成decode
upload = new String(android.util.Base64.decode(ba,
android.util.Base64.DEFAULT));

这很明显是加密后再编码的
Base64解码出来就是
"N庐芮*?$3>?垦喁I?凴釚j忆?"这鬼玩样
以前写过一个类似的软件 给你拿去玩玩吧
说不定就是我这个软件加密的不过解密需要密码
http://kuai.xunlei.com/d/VIcPANacW.0nUgQAea3

会乱码的原因是你的编码不一致导致的
php中的urlencode的编码是和系统编码一致的(比如windows默认gb2312,ubuntu默认utf-8)
所以首先需要确定你的系统编码,之后根据得到的系统编码在调用java的decode方法的时候,将这个编码传入(考虑到你的例子中有繁体字,所以,建议你使用utf-8编码),以下是我使用utf-8编码的例子(php环境是ubuntun下)



解码的字符集不对,指定下字符集转码
new String(Base64.encode(str.getBytes("GBK")));
字符集编码多换几个试试。打印下应该没问题

public static String GetImageStr(String imgFilePath) {
byte[] data = null;

// 读取图片字节数组
try {
InputStream in = new FileInputStream(imgFilePath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}

// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
// 返回Base64编码过的字节数组字符串
return encoder.encode(data);
}

文字编码前后的字符集一样吗?

比如之前是用UTF-8,
现在输出是用默认编码?

System.out.print(new String(b,"UTF-8"));

加密前是什么代码,解密后编码就写什么



诸城市13954132679: 在 java 中如何进行base64 编码和解码 -
程戚奥莎: // 将 s 进行 BASE64 编码 public static String getBASE64(String s) { if (s == null) return null; return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); } // 将 BASE64 编码的字符串 s 进行解码 public static String getFromBASE64(String s) ...

诸城市13954132679: JAVA怎么样实现Base64加密解密? -
程戚奥莎: package test; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Test { public static void main(String[] args) { String str = "java12345"; String ret = null; ret = new BASE64Encoder()....

诸城市13954132679: C#如何将java标准base64编码解码为UTF - 8编码 -
程戚奥莎: static void Main(string[] args) { string input = "input"; byte[] bytesIn = Encoding.UTF8.GetBytes(input); string s64In = Convert.ToBase64String(bytesIn); //s64In相当于java传过来的字符串 byte[] bytesOut = Convert.FromBase64String(s64In); string ...

诸城市13954132679: java怎么把普通字符串转换为base64字符串 -
程戚奥莎: import java.io.ioexception; public class test {/*** 编码* @param bstr* @return string*/ public static string encode(byte[] bstr){ return new sun.misc.base64encoder().encode(bstr); }/*** 解码* @param str* @return string*/ public static byte[] decode(...

诸城市13954132679: 求助 关于Base64解码的问题 -
程戚奥莎: 很简单 // 将 s 进行 BASE64 编码 public static String getBASE64(String s) { if (s == null) return null; return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); } // 将 BASE64 编码的字符串 s 进行解码 public static String getFromBASE64(...

诸城市13954132679: 在java中怎么用dom4j解析XML文件?? -
程戚奥莎: 以下是曾经写的一个解析XML获取XML中图片流的字符串,获取并转化为图片的工具类 里面海带哟base64编码,具体代码如下,希望能帮到你 package com.asidel.web.util; import java.io.File; import java.io.FileOutputStream; import java.io....

诸城市13954132679: 如何解码base64的邮件
程戚奥莎: 122112baitqtd 发表于 2009-5-29 15:16[i][/url][/b]不对是5555555555

诸城市13954132679: Java中显示文字与加密的问题 -
程戚奥莎: Base64加密:javabase64-1.2.jar.zip加入这个包import it.sauronsoftware.base64.Base64;public class Test { /*** @param args*/public static void main(String[] args) {// String类型 进行Base64编码String encoded = Base64.encode("L2...

诸城市13954132679: java的base64在安卓解码不了,怎么回事 -
程戚奥莎: Android端:编码:String oneBaseEncoder = Base64.encode(msg.getBytes()); 解码:String oneBaseDecoder = new String(Base64.decode(msg)); JAVA WEB端:编码:String oneBaseEncoder = new BASE64Encoder().encode(jsonString.getBytes("utf-8")); 解码:String oneBaseDecoder = new String(new BASE64Decoder().decodeBuffer(jsonString));

诸城市13954132679: java 怎么实现PHP的base64加密,两种语言的base64加密后的数据不一致 -
程戚奥莎: 在开发的时候遇到个现象.对方用PHP base64_encode() 对字符串进行加米.但我这边是用Java解马.导致出现问题.问题如下:[java] view plain copypackage com.tudou.test;import java.io.IOException;/*** java base64编码和解码的演...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网