我想将nsstring值转换为const char *。
NSString *s = @"יככעימבבגיננימ"; //Hebrew characters
const char *t = [s cStringUsingEncoding:NSUTF8StringEncoding];
NSLog(@"\n str = %s",t);
控制台显示如下“◊ô◊õ◊õ◊¢◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊
如何将实际的NSString值转换为const char *?
谢谢, loganathan
答案 0 :(得分:6)
这只是因为%s
中的NSLog
表示ASCII字符串(准确地说是普通C 8位字符串),而不是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);