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

参考技术A string str = "张利峰";
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解码,不能解出中文怎么回事?能不能给个代码。。谢谢的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript的atob解码base64不能正确解码utf-8字符串

win api 实现 base64编码解码

安卓能不能实现将base64转成jpg格式放在设备本地

怎么解决js解码base64中文乱码问题

base64 decode解密码

python使用base64编码解码数据