我在将 NSString 转换为 UTF8 cString 时遇到奇怪的编码问题。我正在从网络服务器获取 XML 数据。XML 使用 UTF-8 编码正确编码。获取数据后,我将其转换为 NSString,如下所示:
NSString *XMLdata = [[[NSString alloc] initWithData: receivedData encoding: NSUTF8StringEncoding] autorelease];
当我使用 NSLog 将结果写入标准输出时,输出似乎没问题(所有字符都是可读的)。
但是,当我尝试使用 [XMLData UTF8String] 或 [XMLDdata cStringWithEncoding: NSUTF8StringEncoding] 获取 cString 时,非 ascii 字符(在这种情况下为德语)被搞砸了(例如“N√ºrnberg”而不是“Nürnberg”)。
我不知道这有什么问题。我错过了什么还是那个错误?
任何帮助表示赞赏,谢谢!马蒂斯