/ / So konvertieren Sie ein Unichar-Array in einen einzelnen NSString: iphone, objectiv-c, ios, nsstring

Konvertieren von Unichar Array in einen einzigen NSString - iphone, objective-c, ios, nsstring

Ich habe ein Unicode-Zeichen-Array mit "characterAtIndex:" aus einem NSString-Objekt erstellt.

Ich möchte die Zeichen im Array wieder zu einer einzigen vollständigen Zeichenfolge zusammenfassen.

Gibt es eine Methode, um dieses Unicahr-Array in NSStirng zu konvertieren? Kann mir bitte jemand helfen ???

Das ist mein Code:

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];
}

Ich habe einen besseren Weg für die Stichumkehr gefunden, aber lassen Sie mich wissen, ob wir eine Methode dafür haben ...

Antworten:

2 für die Antwort № 1

Ist das Array ein Standard-C-Array? (sieht ungefähr so ​​aus: array[50];) Wenn ja, können Sie dies tun:

[NSString stringWithCharacters:(const unichar*) length:(NSUInteger)];

3 für die Antwort № 2

Sie können in eine konvertieren unichar und zurück mit getCharacters:range: und 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);

2 für die Antwort № 3

Holen Sie sich ein NSString aus einem Byte-Array mit:

- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding

(und du könntest es gebrauchen UTF8String anstatt die Zeichenkette mit durchzugehen characterAtIndex:)


0 für die Antwort № 4

Mit Toll-Free Bridging können Sie ein Char-Array in eine Objective-C-Klasse oder umgekehrt umwandeln.

Sie können ein erstellen CFMutableStringRef Variable mit Ihrem Array Angenommen, die Variable ist myString. Dann können Sie eine Zeichenkette oder eine veränderbare Zeichenkette damit erstellen.

NSMutableString* objcString = (NSMutableString*) myString;