今天开发遇到一个情况:服务器上生成的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不包含回车换行。
时间: 2024-11-04 13:17:44