从bin文件中读取字节并存储到带有描述符的字符串中

时间:2011-08-04 16:33:28

标签: objective-c

我正在尝试获取一个字符串,其中包含位置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]];

我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

问题在于您致电[myData description]。那给你一个表示字节十六进制值的字符串。相反,将字节本身变为一个整数,然后将其格式化为字符串:

NSData *myData= [myFile readDataOfLength:4];
int myInt;
[myData getBytes:&myInt length:4];
NSString *maxData= [NSString stringWithFormat:@"%04d", myInt];