我是靠谱客的博主 悲凉小白菜,最近开发中收集的这篇文章主要介绍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.misc.BASE64Encoder所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部