我正在尝试在使用Base64编码的Android上构建应用程序。 创建一个字符串“ \ uDE00”将创建一个哈希码为56832的对象。使用Base64对该字符串进行编码和解码会创建一个哈希码为65533的对象。
有什么方法可以使用Base64保留原始字符串吗?这些值在HashMap中使用,因此代码无法正常工作。
这些是我使用的方法:
私有静态最终字符串CHARSET =“ UTF-16”;
private static String encodeToBase64(@NonNull String string) {
return Base64.encodeToString(string.getBytes(Charset.forName(CHARSET)), 0);
}
private static String decodeBase64(@NonNull String string) {
return new String(Base64.decode(string, 0), Charset.forName(CHARSET));
}