Comment extraire des parties d’un fichier binaire et les évaluer séparément ?Bonjour!
Par exemple, ce fichier avec ce script peut obtenir la première donnée qui est une date.

Comment utiliser un script pour extraire ce "A2 3F 32 01"
et utilisez un script pour calculer sa valeur décimale correspondante = 20070306
Merci!
Automatisation et scriptsIngénierie de la qualité et des procédésFenêtresRe : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Merci!
Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?
Comment prendre quelque chose sous forme hexadécimale et le calculer en virgule flottante ?
~D9~40~D9~CE
Le code suivant s'est mal exécuté
b = Char To Blob( "~D9~40~D9~CE", "ascii~hex" );
f = Blob To Matrix( b, "float", 4, "little", 4 );
Merci!
Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Bonne chance
Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Merci Jim!
Oui, j'ai reçu ce code de Craige.
Ce code est utile lorsqu'il connaît la structure des données binaires.
Mais ce nouveau fichier, je ne connais pas sa structure de données. Je suis en quête.
J'enveloppe ce fichier à 00 intervalles. Je reçois les données pour cela.
Sauf pour la première ligne dont je sais qu'elle contient la date.
Mais les données commençant à la deuxième ligne sont des données entières, des données à virgule flottante. Mais quel champ est une virgule flottante ou un entier. Je ne sais pas.

Je ne peux que restaurer la comparaison champ par champ.
Je ne l'ai toujours pas encore compris.
Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Votre code
bb = Load Text File( "I:\E\00820070306.zst", blob() );
ymd = Blob To Matrix( bb, "uint", 4, "little", 8 );
crée une matrice bidimensionnelle que vous appelez "ymd" avec les valeurs converties en valeurs décimales.Tout ce que vous avez à faire est de créer une nouvelle table de données, puis de créer une nouvelle colonne et de définir les valeurs de la nouvelle colonne sur la première colonne de la matrice 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] );
Ensuite, répétez-le simplement pour les 7 colonnes restantes de la matrice

Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Merci!

Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?Peut être BLOB Peek (blob, décalage, longueur) travaillerait? Cela pourrait aussi être une bonne montre Importation de données binaires avec JSL (2022-EU-45MP-946)
Re : Comment extraire des parties d'un fichier binaire et les évaluer séparément ?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 );