2016-05-30 95 views
0

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

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

回答

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写入正确的值到输出字符串。