web-dev-qa-db-ja.com

文字列をint-objective cに変換します

NSStringをintに変換する方法を理解できていません。 ASCII=をテキストに変換しようとしていますが、そのためには文字列をintに変換する必要があります。

これがオンラインでもスタックオーバーフローでもないことは本当に奇妙だと思います。私はこれを必要とするオンラインの人ではないと確信しています。

助けてくれてありがとう。

追伸これが私が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;
}
16
DonyorM

文字列を整数に解析するには、次を実行する必要があります。

NSString *a = @"123abc";
NSInteger b = [a integerValue];
46
User 1531343

おそらく部分的にオフトピックですが、ASCIIに変換するには、単に使用できます:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]

またはあなたの例では:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

これはNSDataを返します。NSDataを繰り返し処理して、ASCII(メソッドごと))の文字列表現を取得できます(必要な場合)。

このアプローチを使用する理由は、NSStringが非ASCII文字を格納できるため、もちろん詳細が失われる可能性があるためですが、allowLossyConversionフラグを有効にすると、これを克服しようとします。 Apple documentation

たとえば、文字をNSUnicodeStringEncodingからNSASCIIStringEncodingに変換すると、文字「Á」は「A」になり、アクセントが失われます。

5
John Parker