Base64编码中的Java特殊字符



我正在尝试在Java程序中使用basic64编码。

问题是当我使用时

new sun.misc.BASE64Encoder().encode("my string".getBytes())

我接收到带有\n和\r的64进制字符串。我不知道如何避免这种情况,因为当我在文本文件中写入该字符串时,我会得到以下

xxxxxxxxxxxxxxxx
yyyy

其中下一行由\n和\r生成。

我尝试使用替换("\n","\n")和相同的for,但我想知道是否有更好的解决方案或额外的参数,我可以在Base64编码(甚至其他编码技巧)中使用

我换了图书馆,它正在工作!

这是的区别

ApacheQ0FTSCNTVUJJUiMzNWYwMjFiMC1kZWRjLTRmZjgtYjNjMS0wZDY0NmVkMjFmOGUjMjAzMzU1MzczMzY=

SunFWmsMAID7Ecbf8gUd0WIvKBjJNXhtMCbcKVDW0R4KXY/e1Do8lItqDN4NH/RiBdckoIMeFrncJ5XFju7R0cX822I/lFSkLab

奇怪。。。我以为Base64是一个标准。。。

为什么开发人员不应该编写程序那个叫"太阳"的包裹

sun.*包不是受支持的公共接口的一部分。A.直接调用sun.*包的Java程序不能得到保证在所有Java兼容平台上工作。事实上,这样的程序即使在同一平台上的未来版本中也不能保证工作。

考虑一下:

可能是这样的:

导入org.apache.mons.codec.binary.Base64;

最新更新