如何从 Base64 编码的字符串中删除换行符?
How to remove line break from Base64 encoded string?
我试图删除换行符,但使用下面的代码我无法继续使用 replace()
方法将其删除。
private String encryptBase64(String data){
byte[] values = null;
try{
values = data.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String encrypted = Base64.encodeToString(values, Base64.DEFAULT);
encrypted.replace("\r\n", "");
Log.i("base64", encrypted);
return encrypted;
}
如上面的代码,很明显我试图删除换行符但代码未能做到。如何去掉换行符?
截图:
只需替换 encrypted = encrypted.replaceAll("(\r|\n|\r\n)+", "");
而不是 encrypted.replace("\n", "");
您可以做的是:
String stringAsProfImg = android.util.Base64.encodeToString(byteArrayOfImg, android.util.Base64.DEFAULT);
或者我正在做的是将位图图像转换为字节数组,然后将字节数组转换为 BASE64 字符串。
下面是一个例子:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byteArrayOfImg = stream.toByteArray();
bitmapImage.recycle();
bitmapImage = null;
stringAsProfImg =android.util.Base64.encodeToString(byteArrayOfImg, android.util.Base64.DEFAULT);
我有你的问题的解决方案,你必须使用 URLEncoder 来编码这样的字符串才能传入 url。
示例:
private String encryptBase64(String data){
byte[] values = null;
try{
values = data.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String encrypted = Base64.encodeToString(values, Base64.DEFAULT);
// encrypted.replace("\r\n", "");
Log.i("base64", encrypted);
// =========== use this line of code ===============
try {
url_encode_val = URLEncoder.encode(encrypted, "utf-8");
Log.e("encryptData_To url::", url_encode_val);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return url_encode_val;
}
我试图删除换行符,但使用下面的代码我无法继续使用 replace()
方法将其删除。
private String encryptBase64(String data){
byte[] values = null;
try{
values = data.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String encrypted = Base64.encodeToString(values, Base64.DEFAULT);
encrypted.replace("\r\n", "");
Log.i("base64", encrypted);
return encrypted;
}
如上面的代码,很明显我试图删除换行符但代码未能做到。如何去掉换行符?
截图:
只需替换 encrypted = encrypted.replaceAll("(\r|\n|\r\n)+", "");
而不是 encrypted.replace("\n", "");
您可以做的是:
String stringAsProfImg = android.util.Base64.encodeToString(byteArrayOfImg, android.util.Base64.DEFAULT);
或者我正在做的是将位图图像转换为字节数组,然后将字节数组转换为 BASE64 字符串。
下面是一个例子:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byteArrayOfImg = stream.toByteArray();
bitmapImage.recycle();
bitmapImage = null;
stringAsProfImg =android.util.Base64.encodeToString(byteArrayOfImg, android.util.Base64.DEFAULT);
我有你的问题的解决方案,你必须使用 URLEncoder 来编码这样的字符串才能传入 url。 示例:
private String encryptBase64(String data){
byte[] values = null;
try{
values = data.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String encrypted = Base64.encodeToString(values, Base64.DEFAULT);
// encrypted.replace("\r\n", "");
Log.i("base64", encrypted);
// =========== use this line of code ===============
try {
url_encode_val = URLEncoder.encode(encrypted, "utf-8");
Log.e("encryptData_To url::", url_encode_val);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return url_encode_val;
}