파일에 16 진수 바이트가 있습니다. NSData를 사용하여이 파일을 읽은 다음 NSdata를 int로 변환합니다. 이제 파일의 첫 번째 바이트를 다른 값으로 대체하려고합니다. 예 : int로 변환 할 때 첫 번째 바이트가 49 인 경우,이를 48로 변경 한 다음 파일에서 바꿉니다. 내가 어떻게 할 수 있니? 내가는 0x02에 첫 번째 바이트를 대체 할코코아의 첫 번째 바이트를 바꾸는 방법
<31414142 42434344 44454546 4654502d 4c494e4b 2d544553 54000000 00000000 00000000>
:
위의 코드를 실행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);
, 그것은 보여이 내 코드입니다. 내가 어떻게 할 수 있니? 고마워요
나는 질문이있다 : 만약 0x02로 변경해야한다면, int 타입이 2인가? – user2656381
예, 0x02는 정수입니다. '0x02' 대신에''2'''를 쓰면 * 문자 * 2가됩니다. – dreamlax
그래서 [0] = 50;을 바꾼다면 맞습니까? – user2656381