Xcode中的解码和编码

时间:2013-12-27 07:27:49

标签: ios nsstring base64 decode

我是Ios的新手。在我的应用程序中,我从服务器接收数据,我必须解码接收数据,我尝试了以下示例代码,

 NSData * dt = [Base64 decode:@"SGVsbG8gV29ybGQ="];
 NSString * actualString = [[NSString alloc] initWithData:dt 
                                      encoding:NSUTF8StringEncoding];
 NSLog(@"%@",actualString);

返回值“Hello World”,

但是如果我尝试使用通过xml从服务器获得的数据

 NSData * dt = [Base64 decode:@"QEjbHvzPjk+YuLDVPUJuEA=="];
 NSString * actualString = [[NSString alloc] initWithData:dt 
                                      encoding:NSUTF8StringEncoding];
 NSLog(@"%@",actualString);

它返回(null),并且无法解码,“+”符号中是否存在问题,是否必须在服务器端编码没有“+”符号的数据,如果没有必要则意味着什么是正确的实现它的方法,请建议我。谢谢。

1 个答案:

答案 0 :(得分:1)

代码:NSData * dt = [Base64 decode:@"QEjbHvzPjk+YuLDVPUJuEA=="];

actualString为零,因为您的dt数据不代表有效的编码数据。

我认为关键问题是您@"QEjbHvzPjk+YuLDVPUJuEA=="错了