2013-08-29 11 views
9

Nie byłem w stanie dowiedzieć się, jak przekonwertować NSString do int. Próbuję przekonwertować ASCII na tekst, ale aby to zrobić, muszę przekonwertować ciąg na int.Konwertuj ciąg na int-celny c

Uważam, że to naprawdę dziwne, że nie ma go w Internecie ani w przepełnieniu stosu. Jestem pewien, że nie jestem osobą, która tego potrzebuje.

Z góry dziękuję za pomoc.

P.S. Jeśli to pomaga Oto kod używam do konwersji ASCII:

+ (NSString *) decodeText:(NSString *)text { 
    NSArray * asciiCode = [text componentsSeparatedByString:@"|"]; 
    int i = 0; 
    NSMutableString *decoded; 

    while (i < ([asciiCode count]-1)) { 

     NSString *toCode = [asciiCode objectAtIndex:i]; 
     int codeInt = toCode; 
     NSString *decode = [NSString stringWithFormat:@"%c", codeInt]; 
     [decoded appendString:decode]; 

    } 

    return decoded; 
} 
+0

Spojrzałem na wiele pytań, ale nie mogłem znaleźć odpowiedzi. Dlatego spytałem. – DonyorM

Odpowiedz

32

do analizowania ciąg Integer należy zrobić:

NSString *a = @"123abc"; 
NSInteger b = [a integerValue]; 
+0

Możesz to zrobić również z int. Dzięki za pomoc. – DonyorM

+0

gr8 ... cieszyć się kodowaniem –

5

Może fractionally off-topic, ale do konwersji na ASCII można po prostu użyć:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] 

lub w przykładzie:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

Spowoduje to wyświetlenie NSData, które można powtórzyć, aby uzyskać ciąg znaków ASCII (s na twoją metodę), jeśli jest to wymagane.

Powodem zastosowania tego podejścia jest to, że NSString może przechowywać znaki spoza ASCII, to oczywiście potencjalnie straci szczegóły, ale włączenie flagi allowLossyConversion będzie próbowało przezwyciężyć to. Zgodnie the Apple documentation:

na przykład w konwersji znak z NSUnicodeStringEncoding do NSASCIIStringEncoding, znak „A” staje się „A”, tracąc akcent.

+0

, więc gdzie mogę dodać ciąg, który chcę przekonwertować? – DonyorM

+0

@DonyorM dataUsingEncoding ... to metoda, którą wywołujesz * w * ciągu znaków. (Zaktualizuję odpowiedź.) –

+0

Dzięki, przykro mi, że niektóre funkcje zaczynają się od "NSString" Przeważnie jestem noobem. – DonyorM