将JPEG转换为base64有很好的资源。
我特别感兴趣的是在不解码为 bimap 的情况下这样做,避免任何内存膨胀。我也知道任何文件都可以通过首先将其转换为字节数组来编码为 Base64。
因此,如果我们可以直接创建一个远远小于解码的 jpeg 位图的字节数组的 JPEG / PNG 文件的字节数组,我们可以使用更少的内存占用将其转换为 base64。
我遇到的最接近的答案是这个https://stackoverflow.com/a/10160856/499752
将JPEG转换为base64有很好的资源。
我特别感兴趣的是在不解码为 bimap 的情况下这样做,避免任何内存膨胀。我也知道任何文件都可以通过首先将其转换为字节数组来编码为 Base64。
因此,如果我们可以直接创建一个远远小于解码的 jpeg 位图的字节数组的 JPEG / PNG 文件的字节数组,我们可以使用更少的内存占用将其转换为 base64。
我遇到的最接近的答案是这个https://stackoverflow.com/a/10160856/499752
public void getGalleryDetails(String path) throws FileNotFoundException {
InputStream inputStream = new FileInputStream(path);
byte[] bytes;
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
try{
while((bytesRead = inputStream.read(buffer)) != -1){
output.write(buffer, 0, bytesRead);
}
}catch(IOException e){
e.printStackTrace();
}
bytes = output.toByteArray();
encodedImage = Base64.encodeToString(bytes, Base64.DEFAULT);
Log.i("ENCODED", encodedImage);
}
您实际上可以使用它...您可以在其中提供要转换为 Base64 的文件的路径。对不起,迟到的帖子......只是说这个帖子。