我正在尝试获取一个字符串,其中包含位置424处的4个字节的值,因为它们出现在我的Hex编辑器中: 我的十六进制编辑器显示14583212,我需要一个包含“14583212”的字符串
这是除了000000之外不会返回任何内容的代码:
- (NSString *) tcExtract: (NSString *) nomefile {
NSFileHandle *myFile= [NSFileHandle fileHandleForReadingAtPath:nomefile];
[myFile seekToFileOffset:424];
NSData *myData= [myFile readDataOfLength:4];
NSString *maxData= [NSString stringWithFormat:@"%04x", [myData description]];
我做错了什么?
由于
答案 0 :(得分:1)
问题在于您致电[myData description]
。那给你一个表示字节十六进制值的字符串。相反,将字节本身变为一个整数,然后将其格式化为字符串:
NSData *myData= [myFile readDataOfLength:4];
int myInt;
[myData getBytes:&myInt length:4];
NSString *maxData= [NSString stringWithFormat:@"%04d", myInt];