将字符串转换为int-objective c [重复]

Posted

技术标签:

【中文标题】将字符串转换为int-objective c [重复]【英文标题】:Convert string to int-objective c [duplicate] 【发布时间】:2013-09-01 13:03:57 【问题描述】:

我无法弄清楚如何将 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;

【问题讨论】:

我看了很多问题,但找不到答案。这就是我问的原因。 【参考方案1】:

要将字符串解析为整数,您应该这样做:

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

【讨论】:

你也可以用 int 来做到这一点。感谢您的帮助。【参考方案2】:

也许有点离题,但要转换为 ASCII,您可以使用:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]

或者在你的例子中:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

这将返回一个 NSData,如果这是您需要的,您可以对其进行迭代以获得 ASCII 的字符串表示(根据您的方法)。

使用这种方法的原因是因为 NSString 可以存储非 ASCII 字符,你当然可能会丢失细节,但启用 allowLossyConversion 标志将尝试克服这个问题。根据the Apple documentation:

例如,将一个字符从 NSUnicodeStringEncoding 转换为 NSASCIIStringEncoding,字符‘Á’变成‘A’,丢失 重音。

【讨论】:

那么我在哪里添加要转换的字符串? @DonyorM dataUsingEncoding... 是您在 on 字符串上调用的方法。 (我会更新我的答案。) 谢谢,抱歉,有些函数以“NSString”开头,主要是我是菜鸟。

以上是关于将字符串转换为int-objective c [重复]的主要内容,如果未能解决你的问题,请参考以下文章

[C/C++笔面试]不使用库函数将字符串转换为整数

C语言中怎么将一个整数字符串转换为一个数

[C/C++笔面试]不使用库函数将整数转换为字符串

怎样用c语言编写将字符串转换为整数的函数

C语言,ASCII码怎么转换为字符?

C语言截取字符串将大写字母转换为小写字母。