我使用NSString对象中的'characterAtIndex:'创建了一个unicode char数组。
我想让数组中的字符再次变成一个完整的字符串。
有没有方法可以将这个unicahr数组转换为NSStirng? 谁能请帮帮我???
这是我的代码:
NSString *sentence = @"A long string";
NSString *new = [[NSString alloc]init];
unichar aBuffer[[sent length]];
int j=0;
//Tried to reverse the string:
for (int i=[sent length]-1; i>=0; i--,j++) {
aBuffer[j]=[sent characterAtIndex:i];
}
我发现了一种比这更好的反转方式,但是让我知道我们是否有任何方法......
答案 0 :(得分:3)
您可以使用unichar
和getCharacters:range:
转换为stringWithCharacters:
并返回。
NSString *sentence = @"A long unicode sentence";
NSUInteger length = [sentence length];
unichar aBuffer[length + 1];
[sentence getCharacters:aBuffer range:NSMakeRange(0, length)];
aBuffer[length] = 0x0;
NSString *newStr = [NSString stringWithCharacters:aBuffer length:length];
NSLog(@"%@", newStr);
答案 1 :(得分:2)
从字节数组中获取NSString
:
- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding
(您可以使用UTF8String
而不是使用characterAtIndex:
循环遍历字符串
答案 2 :(得分:2)
阵列是标准的c阵列吗? (看起来像这样:array[50];
)如果是,你可以这样做:
[NSString stringWithCharacters:(const unichar*) length:(NSUInteger)];
答案 3 :(得分:0)
您可以使用Toll-Free Bridging将char数组转换为objective-c类或反向。
你可以用你的数组创建一个CFMutableStringRef
变量,假设变量是myString。你可以用它创建一个字符串或一个可变的字符串。
NSMutableString* objcString = (NSMutableString*) myString;