0
xmlファイルをデコードしたい。 URLはhttp://bbs.byhh.net/morecommend.xmlです。このファイルはgb2312でコード化されています。だから私はgb2312からUTF-8にコーディング方法を転送するだけです。XcodeのXMLデコーダの問題
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString *urlStr = @"http://bbs.byhh.net/morecommend.xml";
[request setURL:[NSURL URLWithString:urlStr]];
[request setHTTPMethod:@"GET"];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//NSLog(@"%@", returnData);
NSString *results = [[NSString alloc] initWithBytes:[returnData bytes] length:[returnData length] encoding:0x80000632];//gb2312 0x80000632 where the string becomes null
NSString *newresults = [results stringByReplacingOccurrencesOfString:@"gb2312" withString:@"UTF-8"];
NSData *newData = [newresults dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"results=%@",new);
NSXMLParser *xmlParser = [[NSXMLParser alloc]initWithData:newData];
BOOL suc = [xmlParser parse];
if (suc == YES) {
NSLog(@"success");
}
else{
NSLog(@"fail");
}
[results release];
[request release];
奇妙なことは、私が本当に返信データを受け取っているということです。私はそれをファイルに書き込もうとしています。このファイルは正しい形式の正しいxmlファイルです。しかし、私は文字列にデータを転送します。文字列はnullになります。私は何が間違っているのか分からない。
ありがとうございました。実際、NSString.hはgb2312コーディングを認識しています。 – forest