这个base64解码objective-c代码有什么问题?

时间:2014-07-02 17:35:56

标签: objective-c debian base64 decoding gnustep

我开始学习Objective-C,我尝试用GCC(GNUStep)在Debian Wheezy上编译这段代码:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

        NSString *base64String = @"SGVsbG8gV29ybGQh";

        NSURL *URL = [NSURL URLWithString: [NSString stringWithFormat:@"data:;base64,%@", base64String]];

        NSData *decodedData = [NSData dataWithContentsOfURL:URL];

        NSLog(@"%@", decodedData);

        [pool drain];

        return 0;
}

它编译得很好,但是每次运行应用程序时它都会返回“null”,我尝试了不同的解决方案(将NSData转换为NSString),但是它也没有吐出解码后的字符串。

我的代码或GNUStep环境有问题吗?

1 个答案:

答案 0 :(得分:0)

基本上,您传递的网址应指定读取数据的有效位置。因此,如果您只想将字符串转换为数据,请遵循以下内容: -

  NSData* decodedData = [ base64String dataUsingEncoding:NSUTF8StringEncoding];