带有åöä的NSData到NSString

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)

除了像åäö这样的特殊字符外,这种方法很好.有没有更好的方法?

Ric*_*III 5

是的,请使用以下内容:

NSString *returnPage = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)

它使用UTF8而不是ASCII.