NSString ascii转换为NSString

时间:2016-05-30 12:58:10

标签: objective-c nsstring

我有一个NSString,其中存储了这样的数据(ASCII编码):41303031,我想将它们转换为普通字符串,所以我的输出应该是A001。 我问你如何将41303031转换成A001?有一种聪明的方法可以做到这一点,或者我应该生成像这样的愚蠢函数

- (NSString*)stringAsciiToString:(NSString*)string {
NSString* output;
if([string isEqualToStrin:@"41"]) {
output = @"A";
}
return output;
}

1 个答案:

答案 0 :(得分:0)

我解决了。对于任何有兴趣的人,我在这里发布代码:

- (NSString*)asciiStringToString: (NSString*)string {
    NSString *output;

    NSScanner *scanner = [NSScanner scannerWithString:string];
    unsigned asciiCode = 0;

    [scanner scanHexInt:&asciiCode];

    output = [NSString stringWithFormat:@"%c", asciiCode];
    return output;
}

其中string是我的开始字符串:41303031。扫描程序将十六进制转换为int然后我使用int将正确的值写入输出字符串。