【发布时间】:2012-06-16 06:38:54
【问题描述】:
我有这个字符串
NSString * str = @ "01 00 00 41 8B 00 01 00 00 40 BC 00 01 00 00 43 0D 00";
我尝试用这个函数将它转换为 NSacii
- (NSString *)hexToString:(NSString *)string {
NSMutableString * newString = [[NSMutableString alloc] init];
NSScanner *scanner = [[NSScanner alloc] initWithString:string];
unsigned value;
while([scanner scanHexInt:&value]) {
[newString appendFormat:@"%c",(char)(value & 0xFF)];
}
string = [newString copy];
[newString release];
return [string autorelease];
}
它工作完美,但是当我想将字符串转换为十六进制时我找不到 00 表示结果为 01 41 8B 01 40 BC 01 43 0D
【问题讨论】:
-
我知道 ASCII 数组中的 00 是 Null,我可以返回相同的值
-
这一系列十六进制值显然不是 ASCII 字符串。为什么要尝试将其转换为 ASCII?
-
当我转换结果时,我想找到与所有 00 相同的十六进制值
-
我尝试将其转换为 ascii 并写入我的 pdf 文件,因为 pdf 文件
标签: objective-c nsstring hex