【发布时间】:2014-07-02 17:35:55
【问题描述】:
我开始学习 Objective-C,并尝试在 Debian Wheezy 上使用 GCC (GNUStep) 编译此代码:
#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 环境有问题吗?
【问题讨论】:
-
您的代码尝试从 URL“data:;base64,SGVsbG8gV29ybGQh”加载数据。为什么你期望这解码 Base64 字符串?
-
我刚刚从 SO question 中获取了这段代码:P
-
您能否提供该问题的链接?我在该代码中看不到任何 Base64 解码。 - 在 OS X 上,NSData 具有用于 Base-64 解码的内置方法,但我不知道这些方法是否在 GNUstep 中可用。还有许多可用的第三方库。
-
啊哈!这很有趣,我确实知道汤米的回答stackoverflow.com/a/22432808/1187415 中描述的方法。 - 但这可能在 GNUstep 中不受支持。
标签: objective-c debian base64 decoding gnustep