我解析的是从网站获取的字符串,但根据我的下载情况得到不同的结果。 这样它的工作原理:URL下载的不同NSString结果
NSString *tagiString = @"http://tagesanzeiger.ch";
NSURL *tagiURL = [NSURL URLWithString:tagiString];
NSError *error;
NSString *text =[NSString stringWithContentsOfURL:tagiURL
encoding:NSASCIIStringEncoding
error:&error];
以下面的方式它不起作用。我先下载数据,它送入NSMutableData *articleData
,然后转换成的NSString与initWithData:encoding:
- (void)downloadWebsite
{
NSString *tagiString = @"http://tagesanzeiger.ch";
NSURL *websiteURL = [NSURL URLWithString:tagiString];
NSURLRequest *request = [NSURLRequest requestWithURL:websiteURL];
connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self
startImmediately:YES];
}
- (void)connection:(NSURLConnection *)conn didReceiveData:(NSData *)data
{
[articleData appendData:data];
}
- (NSString *)data
{
NSString *text = [[NSString alloc] initWithData:articleData
encoding:NSSymbolStringEncoding];
return text;
}
好像产生NSString *text
内容是不一样的两个版本?我需要使用不同的字符串编码吗?我尝试了许多没有成功。
这两个结果字符串有什么不同?为什么不使用NSASCIIStringEncoding作为第二种方法呢? –
即使在第二种方法中使用NSASCIIStringEncoding,它也不起作用。我尝试了一切,但卡住了。 – Pete
好像最后一种方法存在问题。 NSString * text = [[NSString alloc] initWithData:articleData encoding:NSSymbolStringEncoding]返回一个空的文本字符串。为什么是这样? – Pete