我正在尝试解码从plist(Property List)文件的“data”标签中提取的字符串。从官方的Apple开发者网站,我明白了
“数据字节在< data>之间进行base-64编码。和< / data>标签“。
问题:
示例输入:
生成的输出YnBsaXN0MDDUAQIDBAUILi9UJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABpwkKERUdIyhVJG51bGzTCwwNDg8QXE5TQXR0cmlidXRlc1hOU1N0cmluZ1YkY2xhc3OABIACgAbSDRITFFlOUy5zdHJpbmeAA1JIadIWFxgcWCRjbGFzc2VzWiRjbGFzc25hbWWjGRobXxAPTlNNdXRhYmxlU3RyaW5nWE5TU3RyaW5nWE5TT2JqZWN0XxAPTlNNdXRhYmxlU3RyaW5n0x4NHyAhIlpOUy5vYmplY3RzV05TLmtleXOggAWg0hYXJCeiJSZcTlNEaWN0aW9uYXJ5WE5TT2JqZWN0XE5TRGljdGlvbmFyedIWFyktoyorLF8QGU5TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmdfEBJOU0F0dHJpYnV0ZWRTdHJpbmdYTlNPYmplY3RfEBlOU011dGFibGVBdHRyaWJ1dGVkU3RyaW5nEgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARABKAFEAXgBnAG4AcAByAHQAeQCDAIUAiACNAJYAoQClALcAwADJANsA4gDtAPUA9gD4APkA / gEBAQ4BFwEkASkBLQFJAV4BZwGDAYgAAAAAAAACAQAAAAAAAAAwAAAAAAAAAAAAAAAAAAABmg ==
bplist00./T$topX$objectsX$versionY$archiverTroot
(U $空\ NSAttributesXNSStringV $类 YNS.stringRHiX $ classesZ $ classname_NSMutableStringXNSStringXNSObject_NSMutableString !” ZNS.objectsWNS.keys $'%放大器; \ NSDictionaryXNSObject \的NSDictionary) - * +,_ NSMutableAttributedString_NSAttributedStringXNSObject_NSMutableAttributedString_NSKeyedArchiver(25:
我的代码生成的输出:
bplist00./T$topX$objectsX$versionY$archiverTroot
以下是解码提取字符串的代码:
String result = new String((Base64.decode(extracted_string.getBytes(“UTF-8"), Base64.DEFAULT)), “UTF-8”));
我尝试使用 Base64.decode 函数的不同标志,但它们都没有帮助生成与web工具相同的输出。
我有以下问题:
Android base64 API 是否存在导致上述问题的限制?
我可以使用其他任何Android API吗?
我很感激有关这个问题的任何建议。提前谢谢。
答案 0 :(得分:0)
String result = new String((Base64.decode(extracted_string.getBytes(“UTF-8"), Base64.DEFAULT)), “UTF-8”));
将其替换为:
String result = new String(Base64.decode(extracted_string, Base64.DEFAULT));
答案 1 :(得分:0)
我发布的代码对于解码base64编码的字符串是正确的。 Android Studio控制台未显示整个解码字符串(可能是由于显示某些字符的限制)。