[我正在使用iOS Project中的c
,我正在尝试将字符串转换为c中受尊重的类型,下面的代码应该发送给核心库
typedef uint16_t UniCharT;
static const UniCharT s_learnWord[] = {'H', 'e','l','\0'};
[到目前为止,我所做的是string
是我正在传递的内容
NSString * string = @"part";
static const UniCharT *a = (UniCharT *)[string UTF8String];
但是当一个以上字符时,它无法转换,如果我通过一个字符然后工作正常,请让我在我想念的地方,如何像s_learnWord ?
那样通过
并且我在google
和StackOverFLow
中进行了尝试,但没有一个重复项或答案对我这样不起作用Convert NSString into char array我已经在做同样的事情。
您的问题有点含糊,因为标题说“ c type char []”,但是您的代码使用了typedef uint16_t UniCharT;
,这是矛盾的。
对于UTF-8以外的任何字符串转换,通常都希望使用方法getCString:maxLength:encoding:
。
[当您使用getCString:maxLength:encoding:
时,您可能正在尝试使用UTF-16?在这种情况下,您需要传递uint16_t
作为编码常数。 (或者可能是NSUTF16StringEncoding
/ NSUTF16StringEncoding
)