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. 将NSString *转换为char?
- 2. 将NSString转换为const char
- 3. 将NSString转换为const char *
- 4. 将char转换为NSString
- 5. 将unsigned char转换为NSString
- 6. 将char转换到NSString的
- 7. 转换的NSString为unsigned char
- 8. 从char *转换为NSString?
- 9. 如何将NSString转换为char?
- 10. 将char转换为int到NSString
- 11. 将char数组转换为NSString对象
- 12. 将NSString转换为char字节数组
- 13. cocos2d-x将nsstring转换为char *
- 14. iOS上的中文char *转换为NSString?
- 15. 将const char *转换为NSString *并转换回来_NSAutoreleaseNoPool()
- 16. nsstring和const char *转换
- 17. 将char *转换为char? C++
- 18. 转换的NSString *为char *与ARC
- 19. *将char转换为main并将* char转换为struct
- 20. char *转换为char *
- 21. iPhone:将NSString(Unicode字符串)转换为char数组并反转
- 22. 如何将NSString *转换为ANTLR3_UINT8或ANTLR3_UINT16
- 23. 转换*为char *
- 24. 如何将PCWSTR转换为char []或wchar_t []
- 25. Objective-C:将NSData转换为int或char
- 26. 如何将'char'或''TBuf'转换为'TPtrC8'?
- 27. 将char *转换为float或double
- 28. 在C++中将char *转换为const char *
- 29. 将NSString转换为NSDecimalNumber
- 30. 将NSString转换为UIImage
太棒了,谢谢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