【发布时间】:2015-10-30 17:41:58
【问题描述】:
我得到一个包含 十六进制值 的 NSString,我想将其转换为 ASCII。我该怎么做?
NSString * hexString = // some value
NSString * asciiString = // ? convert hexString to ASCI somehow
我尝试的方法不正确:
我尝试了在similar question 上找到的以下方法,但它对我不起作用:
NSData *_data = [hexString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableString *_string = [NSMutableString stringWithString:@""];
for (int i = 0; i < _data.length; i++) {
unsigned char _byte;
[_data getBytes:&_byte range:NSMakeRange(i, 1)];
if (_byte >= 32 && _byte < 127) {
[_string appendFormat:@"%c", _byte];
} else {
[_string appendFormat:@"[%d]", _byte];
}
}
asciiString = _string; // Still shows the same as before..
【问题讨论】:
标签: ios objective-c nsstring hex ascii