我解析的是從網站獲取的字符串,但根據我的下載情況得到不同的結果。 這樣它的工作原理: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