当前位置:  开发笔记 > IOS > 正文

你如何将cstring转换为NSString?

如何解决《你如何将cstring转换为NSString?》经验,为你挑选了3个好方法。

我已经能够找到类似的方法-[NSString stringWithCString:encoding:]但是当cstring是指针时它们似乎不能很好地发挥作用.



1> Brock Woolf..:

首先,不要使用initWithCString,它已被弃用.

有几种方法可以做到这一点:

const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];

如果您需要其他编码,如ASCII:

const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];

如果你想看到的所有字符串编码可用,在Xcode中,按住命令+选项然后双击NSASCIIStringEncoding在上面的代码块.

您将能够看到Apple在哪里声明了字符串编码类型的枚举.比试图在文档中找到它快一点.

您可能需要的其他一些:

NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding

Checkout Apple的NSString类参考(编码位于页面底部)



2> ThomasW..:

使用现代Objective-C(至少从Xcode 5开始),你可以做到:

char const* cString = "Hello";
NSString *myNSString = @(cString);



3> Chuck..:

stringWithCString:encoding:从给定的C字符串创建NSString.要从NSString创建C字符串,请使用UTF8String方法(通常首选)或cStringUsingEncoding:(如果需要UTF-8以外的编码).

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有