我正在尝试在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;