25
A
回答
36
您可以使用stringWithFormat:
,传递的%c
的格式来表示一个字符,像这样:
char c = 'a';
NSString *s = [NSString stringWithFormat:@"%c", c];
6
你可以做一个C-串出一个性格是这样的:
char cs[2] = {c, 0}; //c is the character to convert
NSString *s = [[NSString alloc] initWithCString:cs encoding: SomeEncoding];
或者,如果已知该字符是ASCII字符(即拉丁字母,数字或标点符号),则可使用另一种方法:
unichar uc = (unichar)c; //Just extend to 16 bits
NSString *s = [NSString stringWithCharacters:&uc length:1];
后面的代码段肯定会失败(不会崩溃,但会产生错误的字符串)与国家字符。对于那些,简单的扩展到16位不是正确的转换为Unicode。这就是为什么需要encoding
参数。
另请注意,上面的两个代码片段会生成一个字符串,其中具有不同的释放要求。后者产生一个自动释放字符串,前者产生一个需要[释放]调用的字符串。
相关问题
- 1. 将char转换为NSString
- 2. 将unsigned char转换为NSString
- 3. 将NSString转换为const char *
- 4. 将NSString *转换为char?
- 5. 从char *转换为NSString?
- 6. 将char数组转换为NSString对象
- 7. 将char转换为int到NSString
- 8. iOS上的中文char *转换为NSString?
- 9. 将const char *转换为NSString *并转换回来_NSAutoreleaseNoPool()
- 10. nsstring和const char *转换
- 11. 如何将NSString *转换为ANTLR3_UINT8或ANTLR3_UINT16
- 12. 在C++中将char *转换为const char *
- 13. 如何将'char'或''TBuf'转换为'TPtrC8'?
- 14. 将NSString转换为整数
- 15. 将pid_t转换为NSString
- 16. 将NSDictionary转换为NSString
- 17. 将NSData [UIImage]转换为NSString
- 18. 将NSString转换为NSArray
- 19. 将NSString转换为std :: string
- 20. 将UITextField值转换为NSString
- 21. 将NSString转换为小数
- 22. 将NSString转换为NSDictionary
- 23. 将nsstring转换为cllcoordinate
- 24. 将NSString转换为NSTimeInterval
- 25. 将NSData转换为NSString
- 26. 将NSString转换为NSDate
- 27. 将NSString转换为NSDIctionary
- 28. 将NSString转换为UTF8String?
- 29. 将CGAffineTransform转换为NSString
- 30. 将包含NSString的NSArray转换为NSString
太棒了,谢谢BoltClock。我是Objective-C的新手,目前这些东西对我来说有点不可思议。谢谢! :-) – Senkwe 2011-02-27 17:41:24
@Hovito:如果你使用Xcode,请记住总是有内置的文档查看器:) – BoltClock 2011-02-27 17:43:13
stringWithFormat是一个矫枉过正的问题,恕我直言。 – 2011-02-27 17:43:45