J'ai un fichier, un peu plus grand que 500 Mo, qui pose quelques problèmes.
Je crois que le problème est dans la convention de fin de ligne (EOL) utilisée. Je voudrais regarder le fichier dans sa forme brute non interprétée (1) pour confirmer la convention EOL du fichier.
Comment visualiser le "binaire" d'un fichier en utilisant quelque chose de construit dans Windows 7? Je préférerais éviter de télécharger des fichiers supplémentaires.
(1) Mon collègue et moi avons ouvert le fichier dans des éditeurs de texte et les lignes s'affichent comme on pourrait s'y attendre. Mais les deux éditeurs de texte ouvriront des fichiers avec différentes conventions EOL et les interpréteront automatiquement. (TextEdit et Emacs 24.2. Pour Emacs, j’avais créé un deuxième fichier contenant uniquement les 4 premiers octets utilisés head -c4096
sur une boîte Linux et l’ouvrant à partir de ma boîte Windows.
J'ai essayé d'utiliser le mode hexl dans Emacs, mais lorsque je suis passé en mode hexl et en mode texte, le contenu du tampon avait changé, en ajoutant un ^ M visible à la fin de chaque ligne. faire confiance à cela pour le moment.
Je pense que le problème peut concerner le ou les caractères de fin de ligne utilisés. Les éditeurs, mon collègue et moi-même avons essayé (1), ont simplement reconnu automatiquement la convention de fin de ligne et nous ont montré des lignes. Et sur la base d’autres preuves, je pense que la convention EOL ne concerne que le retour de voiture. (2) retour seulement.
Pour savoir ce qui est réellement dans le fichier, je voudrais regarder le contenu binaire du fichier, ou au moins quelques milliers d'octets du fichier, de préférence en Hex, bien que je puisse travailler avec décimal ou octal. Des zéros ne seraient que difficiles à regarder.
METTRE À JOUR
À l’exception de celle suggérant DEBUG
, toutes les réponses ci-dessous fonctionnent dans une certaine mesure. J'ai voté favorablement chacun de ceux-ci comme utiles. Ma question était mal formée. En testant chaque solution suggérée, je me suis rendu compte que je voulais vraiment voir côte à côte le contenu hexadécimal et textuel, et que je voulais que ce soit quelque chose où j’avais le curseur sur quelque chose, soit une valeur d’octet, soit le caractère du texte, l'autre côté serait mis en évidence.
J'ai en fait résolu mon problème quand le mode hexl d'Emacs a commencé à fonctionner "correctement". Donc, je n’ai utilisé aucune de ces réponses, je les ai seulement testées (il faudrait vraiment étudier le comportement étrange d’Emacs et déposer un rapport de bogue).
Réponses:
Vous avez besoin d'un "éditeur hexadécimal". J'ai utilisé "Hex Editor Neo" pendant des années et c'est très bien. Il est disponible en version gratuite et payante . (Et je suis sûr qu'il existe d'autres outils similaires disponibles.)
la source
Si vous avez la version PowerShell 5.0 ou ultérieure, vous pouvez utiliser la
powershell
fonction intégrée.Format-Hex
la source
Format-Hex
n’est pas disponible dans mon PowerShell; Je viens d'obtenir une erreur "non reconnue"Intégré, rapide et sale: démarrer
powershell
, exécuter:TotalCount est le nombre d'octets que vous souhaitez lire à partir d'un fichier.
"Powerhell hexdump" de Google pour obtenir des versions beaucoup plus polies / réalisables.
Si vous disposez des outils du Kit de ressources Windows (pas exactement intégrés, mais proches), vous pouvez également utiliser un utilitaire de ligne de commande appelé
list.exe
. C'est un petit éditeur en mode hexadécimal. Conçu spécifiquement pour travailler avec de gros fichiers:la source
list.exe /?
commande d'aide ne donne pas beaucoup d'informations, mais une fois dans l'éditeur, appuyez simplement sur?
pour voir les commandes.H
ouvre l'éditeur Hex etF1
Cela fonctionne également sur tout après XP:
certutil -encodehex MyProgram.exe MyProgram.txt
XP nécessite le pack Outils d'administration Windows Server 2003 à partir d'ici:
https://www.microsoft.com/en-us/download/details.aspx?id=16770
la source
Copiez le fichier dans un nom avec une
.COM
extension, où le nom de base ne dépasse pas huit caractères. CourirCela donnera un '
-
' prompt. Typeà plusieurs reprises d isplay le fichier 128 octets à la fois. Type
pour afficher 128 octets à partir de l' adresse , à saisir en hexadécimal, où le début du fichier est l'adresse 100. Tapez
afficher de l' adresse 1 à l' adresse 2 . Type
pour afficher num octets (longueur) à partir de l' adresse . num est également entré dans l'hex. Utilisez
Q
pour quitter.Par exemple,
la source
C:\>attrib debug.exe /s
. Résultats:File not found - debug.exe
. Impossible de trouver le compte officiel, le débogage n'est plus une déclaration prise en charge , mais d'après ce que j'ai vu sur le Web, il semble que le support du débogage a été abandonné depuis un certain temps. J'ai trouvé DebugDiag de Microsoft. (Téléchargement supplémentaire.) Débogage? Peut-être qu'il prend en charge la recherche de fichiers dans HEX? Livré sous forme de fichier .MSI. Nécessite un mot de passe administrateur pour l'installation. Je ne suis pas un.head -c4096 bigFileName > smallFileName
sur Linux pour obtenir les 4 premiers Ko des fichiers. Les lignes sont suffisamment petites pour que quatre Ko en ait suffisamment pour mon buthexdump -C
sous Linux?HxD est un éditeur hexadécimal portable, ce qui ne nécessite aucune installation, et n’est rien de plus qu’un fichier exe.
http://mh-nexus.de/en/hxd/
Une autre option portable similaire est Frhed:
http://frhed.sourceforge.net/fr/screenshots/
la source
Étant donné que Windows 7 est livré avec le framework dotnet 3.5 intégré, vous aurez le compilateur C # intégré afin que vous puissiez, par exemple, récupérer la liste dans http://illegalargumentexception.blogspot.co.uk/2008/04/c- file-hex-dump-application.html , puis compilez à l'aide de
et vous devriez vous retrouver avec un printhex.exe qui devrait afficher les caractères hexadécimaux et ascii.
la source
Ce n’est pas idéal, mais si vous ne voulez vraiment rien télécharger, vous pouvez essayer d’utiliser fc / b (comparaison de fichiers en mode binaire) pour comparer ce fichier avec un autre fichier complètement différent, et il vous montrera l’hex valeurs de chaque octet qui sont différentes. Vous obtiendrez peut-être des valeurs identiques dans les deux fichiers et vous pourrez donc les ignorer de la sortie, mais vous pouvez savoir si cela se produit en recherchant les valeurs manquantes dans la colonne offset.
la source
Vous pouvez utiliser la fonction PowerShell ci-dessous avec Get-Content pour afficher un hexdump du contenu du fichier, par exemple
Get-Content -Encoding Byte 'MyFile.bin' | Get-HexDump
. Il faut environ 23 secondes pour vider un fichier de 222 Ko et, si vous le souhaitez, la sortie peut être redirigée vers un fichier texte pour faciliter l’examen de la copie.La sortie ressemble à ceci:
la source
Sublime text étant mon éditeur préféré, j'utilise son plugin pour visualiser les fichiers hex. http://facelessuser.github.io/HexViewer/
la source
Je sais que vous utilisez Emacs, mais les utilisateurs de Vim peuvent utiliser un
xxd
utilitaire:c'est à dire
la source