Base64 编码导致最后有很多空格(我无法识别的空白字符)
Base64 encoding result in a lot of whitespaces (blank char that I cannot identify) at the end
我正在使用这个简单的代码在 Base64 中编码 "ab:ab":
try {
byte[] data = "ab:ab".getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
Log.e("CVE","*"+base64+"*");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
但结果,应该是 "YWI6YWI=" 实际上是相同的字符串,末尾有空格:
01-29 10:51:18.813 21789-21863/com.myapp.com E/CVE﹕
*YWI6YWJmZHNmZmRzZmRzc2RmZHM=
*
知道我做错了什么吗???
这可能是一个编码问题,因为如果我在对 getBytes
:
的调用中删除 UTF-8 字符串,我会得到很好的结果
byte[] data = "ab:ab".getBytes();
在 Android 上,默认字符集是 UTF-8,我想知道为什么它在这个例子中没有按预期工作。
您可能还想使用 NO_WRAP
标志将所有内容放在一行中或删除结果字符串:
base64 = Base64.encodeToString(data, Base64.NO_WRAP);
我正在使用这个简单的代码在 Base64 中编码 "ab:ab":
try {
byte[] data = "ab:ab".getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
Log.e("CVE","*"+base64+"*");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
但结果,应该是 "YWI6YWI=" 实际上是相同的字符串,末尾有空格:
01-29 10:51:18.813 21789-21863/com.myapp.com E/CVE﹕
*YWI6YWJmZHNmZmRzZmRzc2RmZHM=
*
知道我做错了什么吗???
这可能是一个编码问题,因为如果我在对 getBytes
:
byte[] data = "ab:ab".getBytes();
在 Android 上,默认字符集是 UTF-8,我想知道为什么它在这个例子中没有按预期工作。
您可能还想使用 NO_WRAP
标志将所有内容放在一行中或删除结果字符串:
base64 = Base64.encodeToString(data, Base64.NO_WRAP);