我如何将NSString转换为UTF-8以外的编码?

问题描述 投票:0回答:1

[我正在使用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 ?那样通过

并且我在googleStackOverFLow中进行了尝试,但没有一个重复项或答案对我这样不起作用Convert NSString into char array我已经在做同样的事情。

ios objective-c char nsstring
1个回答
0
投票

您的问题有点含糊,因为标题说“ c type char []”,但是您的代码使用了typedef uint16_t UniCharT;,这是矛盾的。

对于UTF-8以外的任何字符串转换,通常都希望使用方法getCString:maxLength:encoding:

[当您使用getCString:maxLength:encoding:时,您可能正在尝试使用UTF-16?在这种情况下,您需要传递uint16_t作为编码常数。 (或者可能是NSUTF16StringEncoding / NSUTF16StringEncoding

© www.soinside.com 2019 - 2024. All rights reserved.