与笑脸和德国或法国文本的字符串

时间:2014-07-29 07:22:02

标签: ios nsstring utf8-decode

我试过这段代码

const char *jsonString = [challange.description UTF8String];
    NSData *jsonData = [NSData dataWithBytes:jsonString length:strlen(jsonString)];
    NSString *goodMsg = [[NSString alloc] initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];

问题是当我用笑脸转换一些像德语“test-ö”这样的特殊字符时,它不会从我在上面链接中发布的上面的代码进行转换。如果我使用相同的英语和笑脸,它的工作正常。如果有人有同样的问题请帮帮我。

1 个答案:

答案 0 :(得分:1)

我认为问题在于您从NSString获取UTF-8字符串,然后使用未指定的编码将其转换为NSData(我怀疑它是UTF-8 ,这样就行了,然后使用NSString创建另一个NSNonLossyASCIIStringEncoding对象。

避免发布所有代码,只需直接使用challenge.description