iphone - versiones - ios version
Cómo leer bytes de NSData (3)
" ¿Cómo leer bytes binarios en NSData? " Puede ayudarlo a:
NSString *path = @"…put the path to your file here…";
NSData * fileData = [NSData dataWithContentsOfFile: path];
const char* fileBytes = (const char*)[fileData bytes];
NSUInteger length = [fileData length];
NSUInteger index;
for (index = 0; index<length; index++)
{
char aByte = fileBytes[index];
//Do something with each byte
}
¿Alguien puede sugerir un método para leer bytes de NSData
(como la función de lectura en @interface
NSInputStream
: NSStream
)
También puede crear un NSInputStream
desde un objeto NSData
, si necesita la interfaz de lectura:
NSData *data = ...;
NSInputStream *readData = [[NSInputStream alloc] initWithData:data];
[readData open];
Sin embargo, debe tener en cuenta que initWithData
copia el contenido de los datos.
Una de las formas más simples es usar NSData getBytes.
NSData *data = ...;
char buffer[numberOfBytes];
[NSData getBytes:buffer range:NSMakeRange(position, numberOfBytes)];
donde posición y longitud es la posición desde la que desea leer en NSData y la longitud es la cantidad de bytes que desea leer. No es necesario copiar