将NSString转换为const char *

我想将nsstring的值转换为const char *。

NSString *s = @"יככעימבבגיננימ"; //Hebrew characters const char *t = [s cStringUsingEncoding:NSUTF8StringEncoding]; NSLog(@"\n str = %s",t); 

控制台显示了这样的“◊ô◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊†◊◊◊◊◊û”。

如何获得实际的NSString值为const char *?

谢谢,loganathan

这只是因为NSLog %s表示ASCIIstring(正确的说是C-8位string),而不是UTF8。

怎么样尝试以下?

 NSString *s = @"יככעימבבגיננימ"; //Hebrew characters NSLog(@"\n str = %@",s); 

你也可以注销UTF16数组,

 const wchar_t *t = (const wchar_t*)[s cStringUsingEncoding:NSUTF16StringEncoding]; NSLog(@"\n str2 = %S",t);