Personalizar tipos de archivo-II

Top  Previous  Next

Actualmente, R-Studio es compatible con dos versiones de descripción de tipos de archivo. Versión 2 amplía la anterior Versión 1 al añadir desplazamientos de firmas variables y combinación AND/OR de varias firmas en un tipo de archivo. La versión de la descripción de tipo de archivo se especifica en el atributo de la versión de la sección FileTypeList (lista de tipos de archivo). Versión 1 será la opción establecida por defecto.

Estructura de archivos

Elementos comunes a Versiones 1 y 2 de descripción de tipos de archivo

Encabezado de archivo

El archivo comienza con un encabezado XML estándar

<?xml version="1.0" encoding="utf-8"?>

Sección FileTypeList

<FileTypeList>

Atributos:

version

1.0

2.0

Opcional

Versión de descripción de tipo de archivo

Por defecto: 1.0

Requiere un elemento de cierre </FileTypeList>.

Comentarios

<!-- Cadena de comentarios -->

Una cadena de estándar XML para un comentario.

Versión 1 de descripción de tipo de archivo

Ejemplo de archivo de firma

  <FileTypeList>

    <FileType id="2" group="archive" description="ARJ Archive" extension="arj">

      <Signature offset="3" count="1">Abc\x5c\x00\x04</Signature>

      <Signature offset="9" count="2">\x23\x01\xf4</Signature>

    </FileType>

  </FileTypeList>

Sección FileType

Aquí se describen todas las firmas de archivo.

Atributos:

id

<u32>

Obligatorio

Identificador digital de tipo de archivo. Debe ser único para cada tipo de archivo.


group

<string>

Opcional

Especifica un grupo de tipos de archivo en el que aparecerá el archivo. Se puede especificar bien sus propios grupos o bien los que están predefinidos en el cuadro de diálogo Tipos de archivo. Vea la tabla que aparece más abajo.

Por defecto: unknown (desconocido)

description

<string>

Opcional

Descripción de archivo breve.

Por defecto: null (sin descripción)

features

NO_SCAN

TXT_ANSI

TXT_UNICODE

Opcional

Propiedades adicionales del tipo de archivo. Si desea especificar varias propiedades, éstas deben estar separadas por un espacio.

Por defecto: 0

extension

<string>

Opcional

Extensión de archivo.

Por defecto: null (sin extensión)

Marcas de propiedades de tipos de archivo

NO_SCAN

No se debe explorar. Al utilizar esta marca, R-Studio no va a realizar la búsqueda de este tipo de archivo. Estos archivos se mostrarán al ordenar archivos por sus extensiones.

TXT_ANSI

El archivo se puede visualizar como texto ANSI. Al especificar esta marca, el archivo puede ser representado de manera correcta como un texto ANSI. Al realizar la vista previa, este archivo se enviará inmediatamente al editor de texto/hexadecimal.

TXT_UNICODE

El archivo se puede visualizar como texto UNICODE. Al especificar esta marca, el archivo puede ser representado de manera correcta como un texto UNICODE. Al realizar la vista previa, este archivo se enviará inmediatamente al editor de texto/hexadecimal.

Lista de grupos de tipos de archivo predefinidos

Group

Nombre en el cuadro de diálogo Tipos de archivo.

archive

Archivos de almacenamiento

graphics

Gráficos/Imagen

internet

Archivos relacionados con internet

multimedia

Archivos multimedia

audio

Multimedia: Archivos de audio

video

Multimedia: Archivos de vídeo

font

Fuente

document

Documento

doc_database

Documento: Base de datos

doc_sheet

Documento: Hoja de cálculo

exe

Archivo ejecutable/Biblioteca/DLL

unknown

Otros tipos de archivo

Esta sección puede contener un número ilimitado de elementos de signature (firma). Si hay varios elementos de Signature, esto significa que todas esas firmas están presentes en el archivo de manera simultánea. Etas firmas deben tener atributos de desplazamiento diferentes y no deben solaparse.

Elemento Signature

Este elemento contiene un valor de cadena de la firma de archivo que consiste en caracteres ASCII y bytes hexadecimales en formato \xhh donde hh es un código en bytes hexadecimales. En caso de que no se trate de un número hexadecimal después de \x, \x se procesarán como parte de sección de cadena de la firma.

Atributos:

offset

<u16>

Opcional

Desplazamiento decimal de la firma

Por defecto: 0

count

<u16>

Opcional

Número decimal que especifica el número de firmas de la misma longitud. Se utiliza cuando varias firmas de la misma longitud que empiezan con el mismo desplazamiento puedan estar presentes en un archivo. En este caso deben estar escritas de manera consecutiva en el elemento y el atributo size (tamaño) especifica la longitud de firma. count*size debe ser equivalente al número de bytes en el elemento.

Si en este desplazamiento puede haber sólo una firma,  la cantidad debe ser igual a "1" y el tamaño debe ser equivalente a la longitud (el número de bytes) de la firma.

Por defecto: 1

size

<u16>

Opcional

Número decimal que especifica el número de bytes en la firma.

Por defecto: el número de bytes escrito en el elemento.

from

begin

end

Opcional

Especifica desde dónde se calcula el desplazamiento.

Si end, el desplazamiento será desde el final de archivo al primer byte de la firma. Es decir, si la firma es de dos bytes de largo, el valor de desplazamiento debe ser 2.

Por defecto: begin

Versión 2 de descripción de tipo de archivo

Ejemplo de archivo de firma

<?xml version="1.0" encoding="utf-8"?>

<FileTypeList version="2.0">

  <FileType id="5626" group="_Test" description="Test file" extension="tst">

    <Begin combine="and">

      <Signature from="0" to="20">ABC</Signature>

      <Signature offset="1">CDEFG</Signature>

      <AND>

        <Signature offset="0">DE</Signature>

        <Signature offset="0">RTD</Signature>

        <OR>

          <Signature offset="12">CP</Signature>

          <Signature offset="16">RTD</Signature>

        </OR>

      </AND>

    </Begin>

    <End combine="or">

      <Signature from="3" to="20">ABC</Signature>

      <Signature offset="5">CDEFG</Signature>

      <AND>

        <Signature offset="2">DE</Signature>

        <Signature offset="3">RTD</Signature>

        <OR>

          <Signature offset="12">CP</Signature>

          <Signature offset="16">RTD</Signature>

        </OR>

      </AND>

    </End>

  </FileType>

</FileTypeList>

Sección FileType

Ésta es una descripción de cada firma de archivo.

Atributos:

Similares a los de Versión 1.

Esta sección puede contener un elemento Begin (inicio) y un elemento End (final). Debe contener al menos uno de ellos.

Ejemplo

 <FileTypeList version=”2.0”>

    <FileType id="2" group="archive" description="ARJ Archive" extension="arj">

      <Begin [attributes]>

        ...

      </Begin>

      <End [attributes]>

        ...

      </End>

    </FileType>

  </FileTypeList>

Secciones Begin y End

Especificar las posiciones en firmas de tipo de archivo en el archivo.

Atributos

combine

and

or

Opcional

Muestra el orden de la operación lógica (unión o intersección)

Por defecto: and

Estas secciones pueden contener uno de varios elementos Signature. Y uno de varios elementos OR o AND. Si hay varios elementos dentro de la sección, se combinan de acuerdo con el atributo combine.

Ejemplo:

  <FileTypeList version=”2.0”>

    <FileType id="2" group="archive" description="ARJ Archive" extension="arj">

      <Begin combine="or">

        <Signature [attributes]> ... </Signature>

        ...

        <Signature [attributes]> ... </Signature>

        <AND>

          ...

        </AND>

        <OR>

          ...

        </OR>

      </Begin>

      <End>

        <OR>

          ...

        </OR>

        <Signature [attributes]> ... </Signature>

        ...

        <Signature [attributes]> ... </Signature>

      </End>

    </FileType>

  </FileTypeList>

Secciones AND y OR

Estas secciones pueden contener uno de varios elementos Signature. Y uno de varios elementos OR o AND. Si hay varios elementos dentro de la sección, se combinan de acuerdo con el tipo de sección (AND o OR lógicos).

Ejemplo:

  <FileTypeList version=”2.0”>

    <FileType id="2" group="archive" description="ARJ Archive" extension="arj">

      <Begin>

        <Signature [attributes]> ... </Signature>

        ...

        <Signature [attributes]> ... </Signature>

        <AND>

          <Signature [attributes]> ... </Signature>

          <OR>

            <Signature [attributes]> ... </Signature>

            <AND>

              <Signature [attributes]> ... </Signature>

              <Signature [attributes]> ... </Signature>

            </AND>

            <OR>

              <Signature [attributes]> ... </Signature>

              <Signature [attributes]> ... </Signature>

            </OR>

          </OR>

          <Signature [attributes]> ... </Signature>

        </AND>

      </Begin>

    </FileType>

  </FileTypeList>

Elemento Signature

Este elemento contiene un valor de cadena de la firma de archivo que consiste en caracteres ASCII y bytes hexadecimales en formato \xhh donde hh es un código en bytes hexadecimales. En caso de que no se trate de un número hexadecimal después de \x, \x se procesarán como parte de la sección de cadena de la firma.

Atributos:

offset

<u16>

Opcional

Desplazamiento decimal para la firma

Por defecto: 0

from

<u16>

Opcional

Número decimal que especifica máximo desplazamiento posible a la izquierda para la firma de archivo.

Omitido si el atributo offset está especificado.

Por defecto: sin definir

to

<u16>

Opcional

Número decimal que especifica máximo desplazamiento posible a la derecha para la firma de archivo.

Omitido si el atributo offset está especificado.

Por defecto: sin definir

size

<u16>

Opcional

Número decimal que especifica el número de bytes en la firma.

Por defecto: el número de bytes escritos en el elemento.

Ejemplo:

  <FileTypeList version=”2.0”>

    <FileType id="2" group="archive" description="ARJ Archive" extension="arj">

      <Begin>

        <Signature offset="3">Abc\x5c\x00\x04</Signature>

        <Signature from="9" to="15">\x23\x01\xf4</Signature>

      </Begin>

    </FileType>

  </FileTypeList>