base64解码,不能解出中文怎么回事?能不能给个代码。。谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了base64解码,不能解出中文怎么回事?能不能给个代码。。谢谢相关的知识,希望对你有一定的参考价值。
String str ="张利峰";
System.out.println("明文:"+str);
System.out.println("编译之后的:"+StringUtil.encode(str));
String shuchu=StringUtil.encode(str);
String strx =StringUtil.decode(shuchu);
// String bytesGBK;
//bytesGBK = s.getBytes("UTF-8");
byte []b =strx.getBytes("UTF-8");
System.out.println("解密之后的:"+new String(b,"UTF-8"));
编译出来的结果是
明文:张利峰
编译之后的:5byg5Yip5bOw
解密之后的:å¼ åˆ©å³°
运用java
string encodestr = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(str));
string decodestr = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(encodestr));追问
Convert 在哪定义的?
追答System.Convert 类啊,这么重要的类都不知道啊,哈哈
追问我用的是java的,呵呵,java下找不到这个类的。。
追答寒啊,刚看清是java
话说java的问题发C#区。。。。。。。。
不好意思啊,发错了呵呵
追答你试试在转Base64前先将字符转为utf-8的byte数组然后将数组再转base64试试看
追问byte []b =strx.getBytes("utf-8");
转换也不行,能将汉字编码成base64的字符串,但是解密回来就是乱码。。。不能解密成汉字,也就是说字符串可以进行编码解码,就是汉字解不回来。。郁闷
以上是关于base64解码,不能解出中文怎么回事?能不能给个代码。。谢谢的主要内容,如果未能解决你的问题,请参考以下文章