我是靠谱客的博主 悲凉小白菜,这篇文章主要介绍byte[]转base64不建议使用sun.misc.BASE64Encoder,现在分享给大家,希望可以做个参考。

问题:

项目在Mac上开发运行正常,但上Ubuntu出现报错NoclassDefaounderror: sun/misc/base64encoder

原因:

用到sun.misc.BASE64Encoder包的BASE64Encoder对字符串进行编码,但是将编码后的字符串输出后发现字符串中存在换行符rn

google 原来“回车换行符(rn)”是在Windows才有,而Linux只有换行(n),Mac只有回车(r)。

解决:

建议使用import org.apache.commons.codec.binary.Base64;进行替换

import sun.misc.BASE64Encoder;

return new  BASE64Encoder().encode(encrypted);

替换为

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

return Base64.encodeBase64String(encrypted);

import sun.misc.BASE64Decoder;

byte[] encrypted1 = new BASE64Decoder().decodeBuffer(text);	

替换为

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

byte[] encrypted1 =Base64.decodeBase64(text);	

最后

以上就是悲凉小白菜最近收集整理的关于byte[]转base64不建议使用sun.misc.BASE64Encoder的全部内容,更多相关byte[]转base64不建议使用sun内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部