NSString* pathss = [[NSBundle mainBundle] pathForResource:@"documentary" ofType:@"xml"];
NSString* contents = [NSString stringWithContentsOfFile:pathss encoding:NSUTF8StringEncoding error:NULL];
NSLog(@"content of file is: %@",contents);
在内容广告处仅显示" U" 一词。
答案 0 :(得分:0)
对于OP的评论:"它是AES加密的xml文件"
如果XML文件是AES加密的,则它由数据字节组成,而不是字符,不能表示为UTF-8字符串,也不能以有用的方式表示任何字符串编码。
有必要将文件读入NSData
,而不是NSString
。 AES解密需要数据,而不是字符串作为输入,并将数据作为输出返回。由于AES的原始输入是有效的XML字符串(作为数据),因此可以将结果输出数据解码为原始XML字符串。
if (pathss == nil) {
NSLog(@"pathss is nil");
// Handle error
}
NSError *error;
NSData *encryptedXML = [NSData dataWithContentsOfFile: pathss options:0 error:&error];
if (encryptedXML == nil) {
NSLog(@"Data read error: %@", error);
// Handle error
}
else {
// decrypt encryptedXML
}
请勿忽略错误处理和error
参数,它会提供有关任何错误的信息。
解密encryptedXML
将需要加密密钥,加密模式,填充选项以及可能的iv(初始化向量)。