我正在将图像转换为字节数组,然后转换为 Base64 字符串,它可以完美地隐藏和解码,但是当我使用 php 将该字符串保存到 mysql 数据库并从数据库中检索它时,它不会对其进行解码并显示错误的 base64
这是我的代码。
php
$sql = "insert into users(username, password, email,mob,imagetext)
values ('".$username."', '".$password."', '".$email."', '".$mob."', '".$imageText."') ";
安卓
编码
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);
解码
byte[] decodedByte = Base64.decode(value, Base64.DEFAULT);
b = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
最佳答案
尝试更改 Base64.DEFAULT 中的 Base64 编码选项。 您应该使用 Base64.URL_SAFE ,它将使用发送到 php 脚本时不需要进行 url 编码的字符。 还可以考虑使用 Base64.NO_WRAP,这将阻止 MIME 新行添加到您的 Base 64 输出中。
关于php - 在android中使用Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21052665/