我有一个C字符串:
unsigned char* contents = readInFile(path); //sting bytes in some unknown NSStringEncoding encoding.
我想知道内容的当前NSStringEncoding
值。我想在不使用NSString usedEncoding
方法的情况下执行此操作。
我需要来自内容的CFStringRef
而不会引入新的字符串编码。
NSString* contentsString = [NSString stringWithCString:(char *)contents];
引入了默认编码,因此搞砸了。如何从内容中直接创建CFStringRef
?
有了这个,我可以:
CFStringEncoding cfStringEncoding = CFStringGetFastestEncoding((CFStringRef)contentsString);
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(cfStringEncoding);