在iOS中将NSString转换为unichar

时间:2013-03-06 17:36:41

标签: ios objective-c nsstring unichar

我在stackoverflow中看到了将unichar转换为NSString的问题,但现在我想反过来。

我该怎么做?

需要一些指导..谢谢

例如,我有一个字符串数组:[@"o",@"p",@"q"];

这些是里面的字符串。我如何将其转换回unichar?

2 个答案:

答案 0 :(得分:10)

只要第一个字符实际上不是两个组合字符(换句话说,只要字符的Unicode值不大于\ UFFFF),以下内容就会起作用:

unichar ch = [someString characterAtIndex:0];

答案 1 :(得分:1)

您可以将其转换为NSData中的缓冲区:

if ([string canBeConvertedToEncoding:NSUnicodeStringEncoding]) {
    NSData * data = [string dataUsingEncoding:NSUnicodeStringEncoding];
    const unichar* const ptr = (const unichar*)data.bytes;
    ...
}