24

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

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

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

PSこれが役立つ場合、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;
}
4

2 に答える 2

57

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

NSString *a = @"123abc";
NSInteger b = [a integerValue];
于 2013-08-29T07:54:38.407 に答える
5

おそらく部分的にトピックから外れていますが、ASCIIに変換するには、次を使用できます。

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]

またはあなたの例では:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

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

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

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

于 2013-08-29T08:02:43.560 に答える