【发布时间】:2011-04-22 15:51:46
【问题描述】:
我想得到一个 NSString 的字符。像这样:
NSString *data;
const char * typein = [[data characters] UTF8String];
但显然 NSString 不会响应 -characters。如何获取 NSString 的字符?
谢谢, 以利亚
【问题讨论】:
标签: objective-c nsstring
我想得到一个 NSString 的字符。像这样:
NSString *data;
const char * typein = [[data characters] UTF8String];
但显然 NSString 不会响应 -characters。如何获取 NSString 的字符?
谢谢, 以利亚
【问题讨论】:
标签: objective-c nsstring
你可以使用这个功能:
for(int i =0 ;i<[myString length]; i++) {
char character = [myString characterAtIndex:i];
}
或
NSString *str = @"astring";
const char *cString = [str UTF8String];
【讨论】:
-[NSString cString] 已被弃用多年;你应该使用-[NSString UTF8String] 或-[NSString cStringUsingEncoding:]。
-UTF8String 用于获取缓冲区,但如果您想要完全组合的 unicode 字符(其中一些可能是多个字节),则需要使用 characterAtIndex:。
如果您只想从 NSString 中获取 cString,只需调用 UTF8String,就像您已经在做的那样,然后迭代数组。
【讨论】: