我试过这段代码
const char *jsonString = [challange.description UTF8String];
NSData *jsonData = [NSData dataWithBytes:jsonString length:strlen(jsonString)];
NSString *goodMsg = [[NSString alloc] initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];
问题是,当我用笑脸转换一些特殊字符,如德语“test-ö”时,它不是从我在上面链接中发布的上面代码转换而来的。如果我使用相同的英语和笑脸,它工作正常。如果有人遇到同样的问题,请帮助我。
最佳答案
我相信问题是你从 NSString
获取一个 UTF-8 字符串,然后使用未指定的编码将其转换为 NSData
(我怀疑它是 UTF) -8,所以没问题),然后使用 NSNonLossyASCIIStringEncoding
创建另一个 NSString
对象。
避免使用您发布的所有代码,直接使用challenge.description
。
关于ios - 带有笑脸和德语或法语文本的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25010110/