我从sqlite db读到我的iphone应用程序。在文本中有时会出现像'xf2'或'xe0'这样的特殊字符,我可以在char *数据类型的调试器中看到。当我尝试使用NSString
将字符转换为initWithUTF8String
对象时,我得到了一个零。
如何转换这些特殊字符?
答案 0 :(得分:0)
看起来像编码问题。当您有诸如©或®等符号时,可以获得'xf2'或'xe0'。这些符号需要2个字节,sqlite可以将符号的每个字节解释为单独的符号 所以,尝试不使用initWithUTF8String,而是使用initWithCString:
NSString *stringFromDB = [[NSString alloc] initWithCString:charsArrayFromDB
encoding:NSASCIIStringEncoding];