Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ghex copie n'importe quoi.

6 réponses
Avatar
Geo Cherchetout
Bonjour,

J'ai un fichier binaire (un pdf) ouvert avec l'éditeur hexadécimal ghex.
J'en sélectionne les 16 premiers octets que je copie dans le presse-papier :

25 50 44 46 2D 31 2E 34 0A 25 E2 E3 CF D3 OA 31

puis je les colle dans un fichier vide également ouvert avec ghex. Résultat :

25 50 44 46 2D 31 2E 34 0A 25 5C 55 66 66 66 66 66 66 66 66


Pour le plaisir de l'œil, voici ce que je vois dans la partie droite de
l'original :

%PDF-1.4%.....1

et de la copie :

%PDF-1.4\Uffffffff

Est-ce un bug de ghex ? Sinon quelle peut être l'erreur dans ma façon de
faire ou dans la configuration de ghex ?

6 réponses

Avatar
Geo Cherchetout
Le 26/09/2015 11:50, j'ai écrit :
Bonjour,

J'ai un fichier binaire (un pdf) ouvert avec l'éditeur hexadécimal ghex.
J'en sélectionne les 16 premiers octets que je copie dans le presse-papier :

25 50 44 46 2D 31 2E 34 0A 25 E2 E3 CF D3 OA 31

puis je les colle dans un fichier vide également ouvert avec ghex. Résultat :

25 50 44 46 2D 31 2E 34 0A 25 5C 55 66 66 66 66 66 66 66 66


Pour le plaisir de l'œil, voici ce que je vois dans la partie droite de
l'original :

%PDF-1.4%.....1

et de la copie :

%PDF-1.4Uffffffff

Est-ce un bug de ghex ? Sinon quelle peut être l'erreur dans ma façon de
faire ou dans la configuration de ghex ?



L'instance de ghex vouée à recevoir la copie étant lancée depuis une console
virtuelle, le message d'erreur suivant s'affiche au moment de la copie :

(ghex:10495): Gdk-WARNING **: Error converting selection from UTF8_STRING

Je m'attendais un peu à un truc dans ce genre, mais je me demande bien
comment éviter ce phénomène. Une idée ?
Avatar
Olivier Miakinen
Bonjour,

Je n'ai encore jamais utilisé ghex mais je vais tenter de t'aider quand
même.

Le 26/09/2015 11:50, Geo Cherchetout a écrit :

J'ai un fichier binaire (un pdf) ouvert avec l'éditeur hexadécimal ghex.
J'en sélectionne les 16 premiers octets que je copie dans le presse-papier :

25 50 44 46 2D 31 2E 34 0A 25 E2 E3 CF D3 OA 31



Ce que tu copies, ce sont les caractères hexa (chiffre 2, chiffre 5,
espace, chiffre 5, etc.) ou bien les octets binaires eux-mêmes (%,
P, D, F, etc.) ?

puis je les colle dans un fichier vide également ouvert avec ghex. Résultat :

25 50 44 46 2D 31 2E 34 0A 25 5C 55 66 66 66 66 66 66 66 66



Il semblerait que ce soient les octets binaires qui aient été copiés
dans le presse-papier, lequel s'attend certainement à des caractères.
En effet, c'est au premier octet avec le bit de poids fort à 1 (E2)
que ça déraille.

Pour le plaisir de l'œil, voici ce que je vois dans la partie droite de
l'original :

%PDF-1.4%.....1

et de la copie :

%PDF-1.4Uffffffff



Il manque un saut de ligne 0A juste après le 1.4, mais sinon cela semble
confirmer ce que je dis.

Est-ce un bug de ghex ? Sinon quelle peut être l'erreur dans ma façon de
faire ou dans la configuration de ghex ?



Il faudrait voir s'il est possible de copier/coller les chiffres hexa
plutôt que les octets binaires, le presse-papiers serait sûrement plus
à l'aise avec ça.

Ou bien, autre idée, essaye de lancer ghex en ayant positionné un
charset mono-octet tels que ISO-8859-1 au lieu de UTF-8.
Avatar
Geo Cherchetout
Le 28/09/2015 00:02, *Olivier Miakinen* a écrit :

J'ai un fichier binaire (un pdf) ouvert avec l'éditeur hexadécimal ghex.
J'en sélectionne les 16 premiers octets que je copie dans le presse-papier :

25 50 44 46 2D 31 2E 34 0A 25 E2 E3 CF D3 OA 31



Ce que tu copies, ce sont les caractères hexa (chiffre 2, chiffre 5,
espace, chiffre 5, etc.) ou bien les octets binaires eux-mêmes (%,
P, D, F, etc.) ?



Ghex présente deux volets. J'ai essayé de copier dans le volet de gauche du
fichier A et coller dans le volet de gauche du fichier B. Même chose et même
résultat avec les volets de droite, et idem en croisant.

Il faudrait voir s'il est possible de copier/coller les chiffres hexa
plutôt que les octets binaires, le presse-papiers serait sûrement plus
à l'aise avec ça.



Je voudrais bien mais ghex ne me donne pas le choix. Peut-être est-ce une
propriété du presse-papier (commune à Mageia 5, Mageia 3 et OpenSuse)
d'interpréter ce qu'on copie au lieu de stocker les octets bruts ?

Ou bien, autre idée, essaye de lancer ghex en ayant positionné un
charset mono-octet tels que ISO-8859-1 au lieu de UTF-8.



Dans ma distribution Mageia 5, un petit nombre de variables d'environnement
sont positionnées à UTF-8 :

$ env | grep utf
LC_MESSAGES=fr_FR.utf8
LANG=fr_FR.utf8
LESSCHARSET=utf-8
LANGUAGE=fr_FR.utf8

Sans savoir vraiment ce que recouvrent ces variables, j'ai essayé de lancer
ghex en remplaçant chaque fois la valeur de l'une d'entre elles par
ISO-8859-1. Ça n'a apparemment pas toujours de sens mais, en tout cas, je
n'obtiens jamais la copie fidèle de la sélection faite dans le fichier A. Ça
ne fait au mieux qu'augmenter le nombre d'octets aberrant collés dans le
fichier B.
Avatar
Doug713705
Le 28-09-2015, Geo Cherchetout nous expliquait dans
fr.comp.os.linux.configuration
(<mubg4o$2o01$) :

Ghex présente deux volets. J'ai essayé de copier dans le volet de gauche du
fichier A et coller dans le volet de gauche du fichier B. Même chose et même
résultat avec les volets de droite, et idem en croisant.

Il faudrait voir s'il est possible de copier/coller les chiffres hexa
plutôt que les octets binaires, le presse-papiers serait sûrement plus
à l'aise avec ça.



Je voudrais bien mais ghex ne me donne pas le choix. Peut-être est-ce une
propriété du presse-papier (commune à Mageia 5, Mageia 3 et OpenSuse)
d'interpréter ce qu'on copie au lieu de stocker les octets bruts ?



Tu peux essayer hexedit (en console):
- Ctrl + espace pour placer une marque de début de zone de sélection
- Déplacer le curseur jusqu'à la fin de la zone à copier (la zone
selectionner devient surbrillante)
- ESC puis w pour copier (la surbrillance de selection disparait)
- Esc puis y pour coller dans un autre fichier (le nom du fichier vers
lequel coller est alors demandé. Attention, le fichier de destination
sera _remplacé_).
- Ctrl + c pour quitter sans sauvegarder le fichier d'origine

--
Quand on entrait par la bouche d'incendie, dans ta bouche, il y avait des
sirènes qui chuchotaient des mots... des mots qu'on avait oublié d'inventer.
-- H.F. Thiéfaine, De l'amour, de l'art ou du cochon ?
Avatar
Doug713705
Le 28-09-2015, Geo Cherchetout nous expliquait dans
fr.comp.os.linux.configuration
(<mubg4o$2o01$) :

Ghex présente deux volets. J'ai essayé de copier dans le volet de gauche du
fichier A et coller dans le volet de gauche du fichier B. Même chose et même
résultat avec les volets de droite, et idem en croisant.

Il faudrait voir s'il est possible de copier/coller les chiffres hexa
plutôt que les octets binaires, le presse-papiers serait sûrement plus
à l'aise avec ça.



Je voudrais bien mais ghex ne me donne pas le choix. Peut-être est-ce une
propriété du presse-papier (commune à Mageia 5, Mageia 3 et OpenSuse)
d'interpréter ce qu'on copie au lieu de stocker les octets bruts ?



Tu peux essayer hexedit (en console):
- Ctrl + espace pour placer une marque de début de zone de sélection
- Déplacer le curseur jusqu'à la fin de la zone à copier (la zone
selectionnée devient surbrillante)
- ESC puis w pour copier (la surbrillance de selection disparait)
- Esc puis y pour coller dans un autre fichier (le nom du fichier vers
lequel coller est alors demandé. Attention, le fichier de destination
sera _remplacé_).
- Ctrl + c pour quitter sans sauvegarder le fichier d'origine

--
Quand on entrait par la bouche d'incendie, dans ta bouche, il y avait des
sirènes qui chuchotaient des mots... des mots qu'on avait oublié d'inventer.
-- H.F. Thiéfaine, De l'amour, de l'art ou du cochon ?
Avatar
Geo Cherchetout
Le 28/09/2015 16:37, *Doug713705* a écrit :

Tu peux essayer hexedit (en console):
- Ctrl + espace pour placer une marque de début de zone de sélection
- Déplacer le curseur jusqu'à la fin de la zone à copier (la zone
selectionnée devient surbrillante)
- ESC puis w pour copier (la surbrillance de selection disparait)
- Esc puis y pour coller dans un autre fichier (le nom du fichier vers
lequel coller est alors demandé. Attention, le fichier de destination
sera _remplacé_).
- Ctrl + c pour quitter sans sauvegarder le fichier d'origine



Ça marche au poil, merci. :-) J'avais regardé la page de man de hexedit mais
les raccourcis clavier m'avaient rebuté. Je vais m'y remettre.
De toute façon, j'avais réussi à faire ma bidouille avec dd, mais hexedit
m'aurait évité quelques tatonnements.

Merci aussi à Olivier, et à bientôt pour d'autres aventures.