[iOS 开发] C字符串和NSString字符串对象的相互转换

C字符串和NSString字符串对象可以根据指定的编码方式来进行相互转换。值得注意的是,在将NSString对象转换成C字符串时,要考虑编码问题。因为某些NSString对象能够保存的字符,C字符串的部分编码却无法处理。所以在转换时,需要先检查能不能成功地将NSString对象转成指定编码的C字符串。

示例代码:

// 1. C语言的字符串转为OC的字符串
char *cString = "Hello!";

// 方法一
NSString *firstStringOBJ = [NSString stringWithUTF8String:cString];

// 方法二
NSString *secondStringOBJ = [NSString stringWithCString:cString encoding:NSUTF8StringEncoding];

// 2. OC字符串对象转C语言字符串
NSString *stringOBJ = @"Hello!";
const char *resultCString = NULL;
if ([stringOBJ canBeConvertedToEncoding:NSUTF8StringEncoding]) {
    resultCString = [stringOBJ cStringUsingEncoding:NSUTF8StringEncoding];
}

参考文献:
1.《Objective-C编程》 [美]Aaron Hillegass ,华中科技大学出版社;
2.CSDN博客:将C语言的字符串转为OC的字符串,
http://m.blog.csdn.net/blog/mhtios_tjsd/38411521

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容