¿Cómo extraer partes de un archivo binario y evaluarlas por separado?¡Hola!
Por ejemplo, este archivo con este script puede obtener que el primer dato sea una fecha.

¿Cómo uso un script para extraer este "A2 3F 32 01"?
y usa un script para calcular su valor decimal correspondiente = 20070306
¡Gracias!
Automatización y scriptingIngeniería de Calidad y ProcesosVentanasRe: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?bb = Load Text File( "I:\E\00820070306.zst", blob() );
ymd = Blob To Matrix( bb, "uint", 4, "little", 8 );
a=Munger(char(bb),contains(char(bb),"(")+4,12);
b=Char To blob(a, "utf-8" );;
mat=blobtomatrix(b, "uint", 4, "little", 8 );Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?¡Gracias!

Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?Quizás BLOB Peek(blob, desplazamiento, longitud) ¿trabajaría? También este podría ser un buen reloj. Importación de datos binarios con JSL (2022-EU-45MP-946)
Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?Tu codigo
bb = Load Text File( "I:\E\00820070306.zst", blob() );
ymd = Blob To Matrix( bb, "uint", 4, "little", 8 );
está creando una matriz bidimensional que está llamando "ymd" con los valores convertidos a valores decimales.Todo lo que tiene que hacer es crear una nueva tabla de datos, luego crear una nueva columna y establecer los valores en la nueva columna en la primera columna de la matriz ymd.
Names Default To Here( 1 );
bb = Load Text File( "I:\E\00820070306.zst", blob() );
ymd = Blob To Matrix( bb, "uint", 4, "little", 8 );
dt = New Table( "zst" );
dt << New Column( "col 1" );
Column( dt, 1 ) << set values( ymd[0, 1] );
Luego simplemente repítalo para las 7 columnas restantes en la matriz

Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?¡Gracias Jim!
Sí, obtuve este código de Craige.
Este código es útil cuando conoce la estructura de datos binarios.
Pero este nuevo archivo no conozco su estructura de datos. Estoy en una búsqueda.
Estoy envolviendo este archivo a intervalos de 00. Obtengo los datos para esto.
Excepto por la primera línea que sé que contiene la fecha.
Pero los datos que comienzan en la segunda línea son datos enteros, datos de coma flotante. Pero qué campo es un punto flotante o un número entero. No sé.

Solo puedo restaurar la comparación campo por campo.
Todavía no lo he descubierto todavía.
Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?La mejor de las suertes
Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?
¿Cómo se puede tomar algo en forma hexadecimal y calcularlo como punto flotante?
~D9~40~D9~CE
El siguiente código se ejecutó incorrectamente
b = Char To Blob( "~D9~40~D9~CE", "ascii~hex" );
f = Blob To Matrix( b, "float", 4, "little", 4 );
¡Gracias!
Re: ¿Cómo extraigo partes de un archivo binario y las evalúo por separado?¡Gracias!