跳转至

Android中使用base64

更新内容: 2023-07-10
  • 2023-07-10 配置
  • 2022-8-10 创建文档

我们使用 android.util.Base64

编码

1
2
3
4
import android.util.Base64;

byte[] byteArr; // 这个是要编码字节数组
Base64.encodeToString(byteArr, Base64.NO_WRAP);
例如我们把一个文件编码,传入的是文件的字节数组即可。除了文件的字节数组,也可以拿图片之类的。

编码得到一个String,可以放到json里传给服务器。

Android上传文件

其实文件base64得到字符串后上传文件给服务器的做法并不常见。

我们可以参考OKHTTP中上传文件的方法,用@Multipart来解决问题。

具体还是得看服务端如何接收文件。

解码

使用decode(String str, int flags)方法

byte[] byteArr = Base64.decode(inputStr, Base64.NO_WRAP);

NO_WRAP DEFAULT

DEFAULT模式遇到长度超过76的字符串就会加回车,如果直接放进JSON中就破坏掉格式了。后台服务不接受。

例如有换行的base64(截图仅显示部分内容):

有换行的base64

可选用NO_WRAP模式避免这个情况

byte[] byteArr = Base64.decode(inputStr, Base64.NO_WRAP);

本站说明

一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~

📖AndroidTutorial 📚AndroidTutorial 🙋反馈问题 🔥最近更新 🍪投喂作者

Ads