我有一个十六进制字节的文件。我使用 NSData 读取此文件,然后将 NSdata 转换为 int。现在我想将文件中的第一个字节替换为其他值。示例:转换为 int 时的第一个字节为 49,我想将其更改为 48,然后将其替换为文件。我怎样才能做到这一点?这是我的代码:
NSData *data = [NSData dataWithContentsOfFile:@"file"];
NSLog(@"Patch File: %@",data);
NSData *theData = [NSData dataWithData:[data subdataWithRange:NSMakeRange(0,1)]];
int value = *(int*)([theData bytes]);
NSLog(@"%d",value);
if( value == 49)
value = 48;
NSLog(@"%d",value);
当运行上面的代码时,它显示:
<31414142 42434344 44454546 4654502d 4c494e4b 2d544553 54000000 00000000 00000000>
我想将第一个字节替换为 0x02。我怎样才能做到这一点?非常感谢