如何编码和解码base64格式的任何图像。Android:编码和解码base64
我不知道任何关于base64的东西,刚才我才知道它以String格式保存图像。请解释一下base64以及如何在android编码中使用它。 它会减小图像的大小吗?
在此先感谢...
如何编码和解码base64格式的任何图像。Android:编码和解码base64
我不知道任何关于base64的东西,刚才我才知道它以String格式保存图像。请解释一下base64以及如何在android编码中使用它。 它会减小图像的大小吗?
在此先感谢...
Base64让您表示ASCII格式的二进制数据,你可以用它来发送/接收图像到端点
编码/解码检查了这两种方法:
public static String getBase64(Bitmap bitmap)
{
try{
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
return Base64.encodeToString(byteArray, Base64.NO_WRAP);
}
catch(Exception e)
{
return null;
}
}
public static Bitmap getBitmap(String base64){
byte[] decodedString = Base64.decode(base64, Base64.NO_WRAP);
return BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
}
要编码的任何文件:
private String encodeFileToBase64(String filePath)
{
InputStream inputStream = new FileInputStream(filePath);//You can get an inputStream using any IO API
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();
return Base64.encodeToString(bytes, Base64.DEFAULT);
}
解码:[?如何将图像转换成字符串的Base64]
byte[] data = Base64.decode(base64, Base64.DEFAULT);
的
它只是将文件转换为其base64表示形式,并避免对图像进行绝对无意义的重新压缩。 – 2014-09-05 18:53:08
可能重复(http://stackoverflow.com/questions/4830711/how-to-convert-a-image-into-base64-字符串) – 2014-09-05 18:38:28