我有一个字符串,我需要从ios解码,但在Android中使用base64加密。
String encoded = (Base64.encodeToString(vals, Base64.DEFAULT));
我试图在Objective C中解码的相同字符串我正在变为零 //在android中编码的stringToDeccode字符串
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:stringToDeccode options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
// decodeString是nil
我使用过这个能够解码的网站的字符串。 https://www.base64decode.org/
让我知道我做错了什么
答案 0 :(得分:2)
我认为您的输入文字存在问题。 这是Android代码:
String encoded = (Base64.encodeToString("IOS Developer".getBytes(), Base64.DEFAULT));
Android编码的文字为SU9TIERldmVsb3Blcg==
。
iOS代码:
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:@"SU9TIERldmVsb3Blcg==" options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@",decodedString);
答案 1 :(得分:0)
对我而言:
// byteArray:是你的形象
机器人:
String encoded = Base64.encodeToString(byteArray,Base64.DEFAULT);
iOS / Swift 4:
if let data = Data(base64Encoded: encoded, options: .ignoreUnknownCharacters){
return UIImage(data: data)
}