Sen*_*kwe 26 objective-c char nsstring
如何在Objective-C中将char转换为NSString?
不是以null结尾的C字符串,只是一个简单的char c = 'a'
.
Bol*_*ock 37
您可以使用stringWithFormat:
,传递一种%c
表示字符的格式,如下所示:
char c = 'a';
NSString *s = [NSString stringWithFormat:@"%c", c];
Run Code Online (Sandbox Code Playgroud)
你可以用这样的一个字符制作一个C字符串:
char cs[2] = {c, 0}; //c is the character to convert
NSString *s = [[NSString alloc] initWithCString:cs encoding: SomeEncoding];
Run Code Online (Sandbox Code Playgroud)
或者,如果已知该字符是ASCII字符(即拉丁字母,数字或标点符号),则这是另一种方式:
unichar uc = (unichar)c; //Just extend to 16 bits
NSString *s = [NSString stringWithCharacters:&uc length:1];
Run Code Online (Sandbox Code Playgroud)
后一个片段肯定会失败(不会崩溃,但产生一个错误的字符串)与国家字符.对于那些,简单扩展到16位不是正确的Unicode转换.这encoding
就是需要参数的原因.
另请注意,上面的两个片段会产生一个具有不同释放要求的字符串.后者创建一个自动释放的字符串,前者创建一个需要[release]调用的字符串.
归档时间: |
|
查看次数: |
30514 次 |
最近记录: |