我有一个 C 字符串,它是用 UTF-7 编码的,比如 "+g0l6P3ux-"
。
我可以用 Python 解码字符串。但是当我使用时:
[NSString stringWithCString:"+g0l6P3ux-" encoding:kCFStringEncodingUTF7];
它返回nil
,为什么?
最佳答案
你使用的函数
+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc
需要 NSStringEncoding,如果您在文档中查找 NSStringEncoding,kCFStringEncodingUTF7 不是有效值。
代替
NSString *str = [NSString stringWithCString:"+g0l6P3ux-" encoding:kCFStringEncodingUTF7];
你可以用
CFStringRef cfstr = CFStringCreateWithCString(NULL, "+g0l6P3ux-", kCFStringEncodingUTF7);
NSString *str = [(NSString *)cfstr copy];
CFRelease(cfstr);
关于ios - 一个 NSString 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910144/