解码用android编码的base64字符串
我有一个字符串,我需要从ios解码,但在Android中使用base64加密解码用android编码的base64字符串,android,ios,objective-c,base64,Android,Ios,Objective C,Base64,我有一个字符串,我需要从ios解码,但在Android中使用base64加密 String encoded = (Base64.encodeToString(vals, Base64.DEFAULT)); 和我在目标C中试图解码的字符串一样,我得到了零 //stringToDeccode用android编码的字符串 NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:stringToDeccode options:
String encoded = (Base64.encodeToString(vals, Base64.DEFAULT));
和我在目标C中试图解码的字符串一样,我得到了零
//stringToDeccode用android编码的字符串
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:stringToDeccode options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
//解码字符串为零
同样的字符串,我用过这个网站,能够解码。
让我知道我做错了什么我认为您的输入文本有问题。 以下是Android代码:
String encoded = (Base64.encodeToString("IOS Developer".getBytes(), Base64.DEFAULT));
从Android编码的文本是su9tierldmvb3blcg==
iOS代码:
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:@"SU9TIERldmVsb3Blcg==" options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@",decodedString);
对我来说,它起作用了:
//拜蒂雷:这是你的形象吗
安卓:
String encoded=Base64.encodeToString(byteArray,Base64.DEFAULT)
iOS/Swift 4:
if let data = Data(base64Encoded: encoded, options: .ignoreUnknownCharacters){
return UIImage(data: data)
}是否尝试将不同的选项传递给
initWithBase64EncodedString
方法?字符串是什么?我建议不要使用Base64.DEFAULT,而是使用“string encoded=(Base64.encodeToString(VAL,Base64.NO_WRAP));”。这适用于Objective-C或Swift标准解码。编码文本在哪里?只需写在此处测试即可