[英]Using Base64 in android
我正在將圖像轉換為字節數組然后轉換為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輸出中。
根據以上答案,編碼:
String imageEncoded = Base64.encodeToString(b,Base64.NO_WRAP | Base64.URL_SAFE);
解碼:
byte[] decodedByte = Base64.decode(value, Base64.NO_WRAP | Base64.URL_SAFE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.