Cada archivo está escrito como bits, bits, bits, etc.
Además, cada archivo tiene 2 tipos de metadatos:
- Metadatos del sistema operativo: ubicación del archivo, propietario, permisos, etc. que están escritos en el propio sistema operativo (por ejemplo: en el inodo para Linux)
- Metadatos que no son del sistema operativo: información de derechos de autor, profundidad de color, resolución de imagen, velocidad de obturación, etc., que están escritos en el propio archivo.
Mi pregunta es: ¿cuáles son las posiciones relativas de los datos reales del archivo y los metadatos escritos en el archivo en la "secuencia de bits" de todo el archivo? ¿Los metadatos aparecen primero o el contenido real del archivo, en la "secuencia de bits"?
SER ACONSEJADO:Si la respuesta depende en gran medida del tipo de archivo, prefiera el tipo de archivo .mp3.
Respuesta1
Cada archivo está escrito como bits, bits, bits, etc.
En la mayoría de los sistemas operativos, los archivos sonbytesecuencias a nivel del sistema operativo, es decir, solo se pueden direccionar como unidades de 8 bits y no como bits individuales.
Se pueden especificar algunos formatos de archivo para reinterpretar los bytes como un flujo de bits (o más comúnmente como una colección de 'paquetes' de flujo de bits), pero ese no es el caso general.
¿Los metadatos aparecen primero o el contenido real del archivo, en la "secuencia de bits"?
ÉlmuchoDepende del tipo de archivo: eso es literalmente una gran parte del tipo de archivo.define.
Algunos formatos de archivo se especifican para colocar los metadatos al principio, otros al final y otros utilizan un formato estructurado (por ejemplo, fragmentos RIFF o PNG) donde el fragmento de metadatos se puede ubicar en cualquier lugar siempre que esté marcado con un identificador específico. .
Los archivos MP3 utilizan el formato de etiqueta ID3v2: la posición y el diseño del bloque de metadatos se definen en el ID3v2.3.0ov2.4.0especificación. (Por ejemplo, la sección 5 en el último enlace dice la etiquetadeberíaestar al principio.)
Sin embargo, muchos archivos MP3 también incluyen un bloque de etiquetas ID3v1 al final del archivo (los últimos 256 bytes), y algunos incluso pueden tener solo ID3v1 pero no ID3v2. En realidad, el formato de archivo MP3 originalmenteNoEn primer lugar, tenemos disposiciones para metadatos incrustados, y creo que las etiquetas ID3v2 todavía están estructuradas de tal manera que pretenden ser cuadros de audio que no se pueden reproducir (por compatibilidad).
Los archivos PNG utilizan untrozo etiquetadoestructura donde se encuentran los metadatos críticos'IDAT' y otrosfragmentos con etiquetas específicas, independientemente de su desplazamiento dentro del archivo. (La única restricción es que deben preceder a los fragmentos de "datos" reales).
Los archivos JPEG también utilizan segmentos etiquetados y contienen metadatos en elExifformato, que es... un archivo TIFF completo incrustado en un segmento JPEG, por lo que hay que interpretar tres capas de formatos: primero JPEG, luego TIFF y finalmente Exif.Ver también.Nuevamente, la ubicación del segmento puede variar: se identifica que contiene metadatos por su etiqueta de tipo.
Los archivos PE/COFF (Windows .exe) son una combinación: tienen un desplazamiento fijo cerca del principio, pero solo contienen unpunteroal encabezado PE real, por lo que elencabezado realEl desplazamiento puede variar de un archivo a otro. Ese encabezado tiene algunos metadatos en desplazamientos fijos, luego tiene unsecciónlista que puede contener más metadatos en ubicaciones arbitrarias siempre que tenga un nombre de sección específico.
Los archivos de Microsoft Office (.docx/.xlsx) y OpenDocument (.odt/.ods) son en realidad archivos Zip, por lo que tienen metadatos de nivel Zip (el "directorio") al final, y los metadatos del documento real se almacenan en un "archivo" específico en ese archivo Zip, por lo que debe interpretar el directorio del archivo Zip para encontrar los metadatos de Office.
Algunos tipos de archivos no tienen metadatos incrustados. Por ejemplo, los archivos de texto (.txt) solo contienen texto arbitrario.