Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?"Min1.dat" est un fichier hexadécimal. J'ai enregistré les données des deux tables dans ce fichier DAT.
Par exemple, les données d'origine du fichier encodées en "113027" ressemblent à ceci.

ScriptRe : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Merci Craig!
Merci pour vos conseils avisés et votre aide pour me faire comprendre davantage.
J'ai également trouvé beaucoup de problèmes lorsque je traitais plus de données numérotées de la même manière.
Je suis passé à VBA pour contrôler la souris afin de réaliser une utilisation automatique pour que la documentation obtienne des données, réduise les opérations manuelles. Ce qui est plus important, c'est de réduire les risques d'erreurs.
Merci encore aux experts.
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Votre fichier peut avoir Petit endian Nombres. Mais sans documentation du format de fichier, vous ne pouvez pas être sûr qu'il n'y a pas un autre bit dans le fichier qui choisit la représentation Big vs Little. Il peut y avoir beaucoup de bits qui déterminent la forme des données binaires, et ils peuvent changer si le programme qui génère les données s'exécute avec différentes options/données/environnement.
Fait amusant sur les nombres Little Endian : le 6502 Le processeur de l'ancien ordinateur Apple II utilisait Little Endian car il était plus rapide d'ajouter deux nombres de 2 octets. L'ajout de l'octet de poids faible pourrait être effectué en parallèle avec la récupération de l'octet de poids fort qui a suivi. La retenue pourrait alors être propagée à l'octet de poids fort.
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Ce calcul doit inverser le résultat hexadécimal pour obtenir le résultat correct.
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Désormais, seule la valeur numérique de la date peut être utilisée pour localiser et calculer les données de la période.

Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Je vois, si les outils sont disponibles, je peux utiliser ce code pour le faire en une seule étape. Merci beaucoup!
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Ce n'est pas un vrai logiciel. Je voulais dire quel que soit le logiciel qui produit ce fichier de données.Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?J'avais l'habitude d'utiliser un logiciel similaire, mais maintenant les données DAT ont changé et le logiciel n'est plus disponible.

Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Savez-vous si le logiciel dispose d'options de ligne de commande pour effectuer cette tâche ?J'ai vu certains programmes avoir des versions CLI de certaines de leurs fonctions.
Si vous avez de la chance, vous pourrez peut-être faire quelque chose comme
Names default to here(1);
RP = Run Program(
Executable( "DatFileCreator.exe" ),
Options( { // all of these options are made up but I've seen programs have them before.
"-export 1"
, "-filepath 'C:\Fake\somefile.dat'"
, "-exportpath 'C:\Fake\sometxtfile.txt"
} ),
ReadFunction( Function( {this}, Write( this << read ) ) )
);
dt = open("C:\Fake\sometxtfile.txt");
Je regarderais d'abord leurs arguments de ligne de commande.De plus, s'ils mettent à jour leur format de fichier, ils **devraient** mettre à jour leur fonctionnalité d'exportation et vous n'aurez pas à la réécrire.
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Merci pour l'attitude rigoureuse de Craige.
Mes données DAT sont des données logicielles gratuites, dans l'interface de la fenêtre, le fonctionnement du logiciel peut exporter directement des données au format TXT,
tels que ces deux codes "113027" 、"123029" s les données sont dérivées dans le logiciel.
Je veux juste savoir comment faire en sorte que JMP lise directement les données du fichier DAT dans ce logiciel,
de sorte qu'il n'est pas nécessaire d'exporter manuellement les données dans l'interface du logiciel pour enregistrer le fichier TXT sur le disque dur, puis d'utiliser JMP à double usage pour importer le fichier TXT sur le disque dur.
Merci aux experts pour leur aide.
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?@lwx228 lorsque j'essaie d'extraire des informations d'un fichier binaire sans documentation appropriée, je dois penser à ce qui pourrait arriver ensuite : le format du fichier peut changer ; Je ne serai peut-être pas là pour soutenir mon hack; Je ne comprends peut-être pas le format. Si le fournisseur qui crée le fichier fournit des outils pour manipuler le fichier, vous devez les utiliser. Si le fournisseur documente le format de fichier, vous devez utiliser cette documentation.

Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?J'ai utilisé "Contient" pour déterminer l'emplacement des données temporelles, mais je l'ai trouvé inefficace.
b = Load Text File( "D:\0\Min1.dat", blob() ); // load your file
hex = Hex( b );
last4hex = Right( hex, 8 );
num = Length( b );
last4blob = Blob Peek( b, Length( b ) - 4, 4 );
da1 = "B38DCF77";//B3~8D~CF~77
da2 = "B48DCF77";
off1 = Contains( hex, da1 );
off2 = Contains( hex, da2, -1 );
If( off1,
hex = Substr( hex, off1, Length( hex ) )
);
If( off2,
hex = Substr( hex, 1, off2 + 1 )
);
mat = Blob To Matrix( b, "int", 4, "big" );

Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Comment utiliser JSL pour localiser efficacement les données, restaurer les données à virgule flottante et extraire uniquement les données spécifiées ?
Comment extraire toutes les données encodées "113027" directement d'un fichier hexadécimal à l'aide de JSL ?
Merci Experts !
Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?J'ai trouvé le symbole hexadécimal affiché dans la première ligne du fichier "113027" dans HxD.exe.
Le nombre hexadécimal pour les données 2010090931 est "B38DCF77" et le nombre hexadécimal pour les données 2010090932 est "B48DCF77"

Re : Comment extraire des données spécifiées d'un fichier hexadécimal JSL vers un fichier décimal ?Ouvrez "min1.dat" avec "HxD x64.Exe pour voir le symbole hexadécimal spécifique.
Les scripts JSL écrits avec Craige peuvent également voir cela et afficher le même contenu.
b = Load Text File( "D:\0\Min1.dat", blob() ); // load your file
hex = Hex( b );
