我试图在我的Java程序中使用basic64编码。
问题是当我使用
时new sun.misc.BASE64Encoder().encode("my string".getBytes())
我收到了带有\ n和\ r \ n的base 64字符串。我不知道如何避免这种情况,因为当我在文本文件中写下该字符串时,我得到以下内容
xxxxxxxxxxxxxxxx
yyyy
其中下一行由\ n和\ r。
生成我尝试使用替换(" \ n"," \ n")和\ r \ n相同但我想知道是否有更好的解决方案或额外的参数我可以使用Base64编码(甚至其他编码方式。)
我改变了库,它正在运行!
这是差异
阿帕奇 Q0FTSCNTVUJJUiMzNWYwMjFiMC1kZWRjLTRmZjgtYjNjMS0wZDY0NmVkMjFmOGUjMjAzMzU1MzczMzY =
太阳 FWmsMAID7Ecbf8gUd0WIvKBjJNXhtMCbcKVDW0R4KXY / e1Do8lItqDN4NH / RiBdckoIMeFrncJ5X Fju7R0cX822I / lFSkLab
很奇怪......我认为Base64是一个标准...
答案 0 :(得分:1)
sun。*包不是受支持的公共界面的一部分。一个 直接调用sun。*包的Java程序无法保证 在所有兼容Java的平台上工作。实际上,这样的程序是 即使在同一平台上的未来版本中也不能保证工作。
考虑Why Developers Should Not Write Programs That Call 'sun' Packages:
可能是这样的:
import org.apache.commons.codec.binary.Base64;