将base64字符串解码为UTF-8

时间:2010-10-11 12:17:55

标签: iphone utf-8 base64

我正在使用this post底部的base64实现。

如果我使用以下代码:

NSLog(@"decoded:%@",[[[NSString alloc] initWithData:[Base64 decode:@"8fEmIzEyNDA3OyYjMTI0MTE7"] encoding:NSUTF8StringEncoding] autorelease]);

我得到decoded:(null)

但是,如果我使用:

NSLog(@"decoded 1:%@",[[[NSString alloc] initWithData:[Base64 decode:@"8fEmIzEyNDA3OyYjMTI0MTE7"] encoding:NSASCIIStringEncoding] autorelease]);

我得到decoded:ññぷほ

但我应该decoded:ññぷほ

我做错了什么?

2 个答案:

答案 0 :(得分:2)

这些是HTML字符引用。如果你想要原始文本,你需要进一步解码。

答案 1 :(得分:0)

你应该阅读Matt Gallagher的this article。如果您正在追求的话,那么在底部有与iOS代码的链接。

它为NSData提供了一个类扩展,你可以很容易地转换字符串。