我是Objective-C的新手,尝试使用苹果文档中的示例将格式不正确的UTF8编码NSString转换为格式正确的字符串。
NSString *theString = @"Lügen"; //should be "ü"
NSString *asciiString = [[NSString alloc] initWithData:asciiData encoding:NSASCIIStringEncoding];
NSLog(@"Original: %@ (length %d)", theString, [theString length]);
NSLog(@"Converted: %@ (length %d)", asciiString, [asciiString length]);
结果:
Original: Lügen (length 6)
Converted: LA1/4gen (length 8)
这里什么也没做:
NSString* str = [NSString stringWithUTF8String:
[theString cStringUsingEncoding:NSASCIIStringEncoding]];
这里会导致我的应用崩溃
NSString* str = [NSString stringWithUTF8String:
[theString cStringUsingEncoding:NSUTF8StringEncoding]];
有人知道我做错了什么吗?