Java Base64编码存在\n\r情况 windows下编码图片可以显示,linux服务器编码显示图片为黑色

Java Base64编码存在\n\r情况

今天开发遇到一个情况:服务器上生成的Base64编码和我本地生成的不一样(回车换行符的差别),后来网上搜了下,自己测试了下,先把结果记录如下:

 

网上搜索结果:Base64一行不能超过76字符,超过则添加回车换行符。回车换行符(\r\n)”是在Windows才有,而Linux只有换行(\n),Mac只有回车(\r)。

自己测试结果:

此处我对jdk提供的两个base64编码的类进行了测试:sun.misc.BASE64Encoder 和 java.util.Base64。

测试环境:windows 7

sun.misc.BASE64Encoder : jdk1.6 - jdk1.8 

生成的base64都是包含回车换行的。

java.util.Base64 : jdk1.7 - jdk1.8(jdk1.6没有)

生成的base64不包含回车换行。

 

 

原文地址 https://www.cnblogs.com/darkhumor/p/7525392.html

你可能感兴趣的:(Java Base64编码存在\n\r情况 windows下编码图片可以显示,linux服务器编码显示图片为黑色)