Don*_*orM 18 iphone int cocoa-touch objective-c nsstring
我无法弄清楚如何将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;
}
Run Code Online (Sandbox Code Playgroud)
Use*_*343 48
要将字符串解析为整数,您应该:
NSString *a = @"123abc";
NSInteger b = [a integerValue];
Run Code Online (Sandbox Code Playgroud)
可能只是偏离主题,但要转换为ASCII,您可以使用:
[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]
Run Code Online (Sandbox Code Playgroud)
或者在你的例子中:
return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
Run Code Online (Sandbox Code Playgroud)
如果这是你需要的,这将返回一个NSData,你可以迭代它以获得ASCII的字符串表示(根据你的方法).
使用这种方法的原因是因为NSString可以存储非ASCII字符,您当然可能会丢失细节,但启用allowLossyConversion标志将尝试克服此问题.根据Apple文档:
例如,在将字符从NSUnicodeStringEncoding转换为NSASCIIStringEncoding时,字符'Á'变为'A',失去重音.
| 归档时间: |
|
| 查看次数: |
51504 次 |
| 最近记录: |