use*_*661 2 objective-c utf-8 nsstring non-ascii-characters nsdata
我正在使用NSMutableURLRequest下载一个网页,但在将该网页放入NSString时遇到问题.
NSString *username = @"my_username";
NSString *password = @"my_password";
NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.mypage.com/login.php?username=%@&password=%@", username, password]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnPage = [NSString stringWithFormat:@"%.*s", [returnData length], [returnData bytes]];
Run Code Online (Sandbox Code Playgroud)
除了像åäö这样的特殊字符外,这种方法很好.有没有更好的方法?
是的,请使用以下内容:
NSString *returnPage = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)
它使用UTF8而不是ASCII.