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

Caract

22 réponses
Avatar
Lucas Levrel
Bonjour,

Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è. En
utf-8, D0 92 c'est « B majuscule cyrillique », mon système affiche B. En
point de code Unicode, c'est un idéogramme (syllabes Hangul)... Avez-vous
une idée du codage utilisé ?

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)

10 réponses

1 2 3
Avatar
Benoit Izac
Bonjour,
Le 02/10/2018 à 17:36, Lucas Levrel a écrit dans le message
 :
Depuis quelques temps je reçois des fichiers – probablement produits
sous Windows ou Office online – où les lettres accentuées sont
encodées bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A
pour è. En utf-8, D0 92 c'est « B majuscule cyrillique », mon système
affiche B. En point de code Unicode, c'est un idéogramme (syllabes
Hangul)... Avez-vous une idée du codage utilisé ?

Tu peux essayer <https://github.com/nijel/enca> ou encore encguess
qui est livré avec perl.
--
Benoit Izac
Avatar
Olivier Miakinen
Le 02/10/2018 17:36, Lucas Levrel a écrit :
Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è.

Tu pourrais nous donner d'autres exemples ? Déjà, je parie pour :
Ç = D0 90
à = D0 95
ç = D0 97
Et puis :
ô = ?? ?3
û = ?? ?6
ù = ?? ?7
(avec les trois premiers chiffres hexa identiques pour ces trois
caractères)
J'ajouterais :
Á = ?? ?5
 = ?? ?6
À = ?? ?7
© = ?? ?8
(idem pour ces quatre-là)
[...] Avez-vous une idée du codage utilisé ?

J'ai peut-être une idée de la table de départ. Quant au codage... il
faut voir, et j'attends beaucoup de ta réponse pour les dix caractères
que je cite ci-dessus.
--
Olivier Miakinen
Avatar
Lucas Levrel
Le 3 octobre 2018, à 13:12, Doug713705 a écrit :
Le 2018-10-03, Lucas Levrel nous expliquait dans
fr.comp.os.linux.configuration
() :
Le 3 octobre 2018, à 00:13, Francois Lafont a écrit :
On 10/02/2018 10:54 PM, Lucas Levrel wrote:
OK, mais quoi tester ?

Je vais peut-être dire une bêtise mais, en supposant que ton fichier (avec
son nom étrange) se trouve dans le répertoire /toto/ et qu'il est le seul
dans
ce répertoire, un truc du genre ça ne donne pas l'encodage utilisé ?
ls /toto/ > /tmp/f.txt
file /tmp/f.txt

Merci, bonne idée mais ça donne UTF-8.

Sauf que tu viensi probablement de tester l'encodage de la sortie de ls et non pas
l'encodage du nom de fichier.
Il me semble que si ton environnement étais configuré en ISO8859-15 tu aurais obtenu
iso-8859-15.
À vérifier.

Avec
LC_ALL= ls /toto/ > /tmp/f.txt
le résultat est le même. Je ne crois pas avoir déjà vu ls transcoder des
noms de fichier.
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Lucas Levrel
Le 3 octobre 2018, à 19:53, François Patte a écrit :
Le 03/10/2018 à 14:26, Lucas Levrel a écrit :
Emacs pense que c'est de l'UTF-8. Leafpad aussi. Sous Emacs il y a
foultitude d'encodages connus, mais qu'essayer ?

Alt-x <ret> describe char <ret>
Peut-être....

Emacs a déjà transcrit le fichier en caractères lorsqu'on lance cette
commande, donc ça ne donne rien hélas...
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Lucas Levrel
Le 4 octobre 2018, à 01:59, Olivier Miakinen a écrit :
Le 02/10/2018 17:36, Lucas Levrel a écrit :
Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è.

Tu pourrais nous donner d'autres exemples ? Déjà, je parie pour :
Ç = D0 90
à = D0 95
ç = D0 97
Et puis :
ô = ?? ?3
û = ?? ?6
ù = ?? ?7
(avec les trois premiers chiffres hexa identiques pour ces trois
caractères)
J'ajouterais :
Á = ?? ?5
 = ?? ?6
À = ?? ?7
© = ?? ?8
(idem pour ces quatre-là)

Je n'ai aucune prise sur les fichiers affectés qu'on m'envoie. Je n'ai pas
d'autre lettre à fournir pour l'instant, peut-être aurai-je un jour l'à, à
la rigueur le ç, mais pour Á et © il ne faut pas rêver :-)
[...] Avez-vous une idée du codage utilisé ?

J'ai peut-être une idée de la table de départ. Quant au codage... il
faut voir, et j'attends beaucoup de ta réponse pour les dix caractères
que je cite ci-dessus.

Dis toujours...
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Olivier Miakinen
Le 04/10/2018 15:14, Lucas Levrel a écrit :
Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è.

[...]

Je n'ai aucune prise sur les fichiers affectés qu'on m'envoie. Je n'ai pas
d'autre lettre à fournir pour l'instant, peut-être aurai-je un jour l'à, à
la rigueur le ç, mais pour Á et © il ne faut pas rêver :-)
[...] Avez-vous une idée du codage utilisé ?

J'ai peut-être une idée de la table de départ. Quant au codage... il
faut voir, et j'attends beaucoup de ta réponse pour les dix caractères
que je cite ci-dessus.

Dis toujours...

Dans CP850 et CP437, encodages des PC en MS-DOS, le é et le è sont
respectivement aux positions 82 et 8A. C'est-à-dire qu'on a deux
caractères dont la position 8x se retrouve codée D0 9x avec le même
x (respectivement x=2 et x=A).
Voir ici : <http://www.miakinen.net/vrac/charsets/?o6=CP437&or=5>.
--
Olivier Miakinen
Avatar
Lucas Levrel
Le 3 octobre 2018, à 23:14, Benoit Izac a écrit :
Bonjour,
Le 02/10/2018 à 17:36, Lucas Levrel a écrit dans le message
 :
Depuis quelques temps je reçois des fichiers – probablement produits
sous Windows ou Office online – où les lettres accentuées sont
encodées bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A
pour è. En utf-8, D0 92 c'est « B majuscule cyrillique », mon système
affiche B. En point de code Unicode, c'est un idéogramme (syllabes
Hangul)... Avez-vous une idée du codage utilisé ?

Tu peux essayer <https://github.com/nijel/enca> ou encore encguess
qui est livré avec perl.

encguess donne utf-8. L'option -S m'a donné une idée : l'attaque
brute-force.
for enc in $(iconv -l) ; do iconv -f $enc -c -t utf-8 f.txt ; done |less
Rien trouvé...
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Lucas Levrel
Le 4 octobre 2018, à 01:59, Olivier Miakinen a écrit :
Le 02/10/2018 17:36, Lucas Levrel a écrit :
Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è.

Tu pourrais nous donner d'autres exemples ? Déjà, je parie pour :
Ç = D0 90
à = D0 95
ç = D0 97
Et puis :
ô = ?? ?3
û = ?? ?6
ù = ?? ?7
(avec les trois premiers chiffres hexa identiques pour ces trois
caractères)
J'ajouterais :
Á = ?? ?5
 = ?? ?6
À = ?? ?7
© = ?? ?8
(idem pour ces quatre-là)

Coup de bol, je reçois un paquet de fichiers, voilà les codes
supplémentaires que j'y trouve :
ô = D0 A3
ç = D0 97
î = D0 9C
â = D0 94
[...] Avez-vous une idée du codage utilisé ?

J'ai peut-être une idée de la table de départ. Quant au codage... il
faut voir, et j'attends beaucoup de ta réponse pour les dix caractères
que je cite ci-dessus.

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Lucas Levrel
Le 4 octobre 2018, à 15:29, Olivier Miakinen a écrit :
Le 04/10/2018 15:14, Lucas Levrel a écrit :
Depuis quelques temps je reçois des fichiers – probablement produits sous
Windows ou Office online – où les lettres accentuées sont encodées
bizarrement, par exemple deux octets D0 92 pour é, ou D0 9A pour è.

[...]

Je n'ai aucune prise sur les fichiers affectés qu'on m'envoie. Je n'ai pas
d'autre lettre à fournir pour l'instant, peut-être aurai-je un jour l'à, à
la rigueur le ç, mais pour Á et © il ne faut pas rêver :-)
[...] Avez-vous une idée du codage utilisé ?

J'ai peut-être une idée de la table de départ. Quant au codage... il
faut voir, et j'attends beaucoup de ta réponse pour les dix caractères
que je cite ci-dessus.

Dis toujours...

Dans CP850 et CP437, encodages des PC en MS-DOS, le é et le è sont
respectivement aux positions 82 et 8A. C'est-à-dire qu'on a deux
caractères dont la position 8x se retrouve codée D0 9x avec le même
x (respectivement x=2 et x=A).
Voir ici : <http://www.miakinen.net/vrac/charsets/?o6=CP437&or=5>.

Ça colle donc avec les nouveaux codes trouvés, sauf â mais cette lettre
apparaît après une majuscule, on peut donc envisager une faute de frappe
sur la touche ^ : Shift + ^ qui donne ¨.
Ainsi les caractères yx en DOS se retrouvent codés D0(y+1)x...
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Olivier Miakinen
Le 08/10/2018 12:20, Lucas Levrel a écrit :
Dans CP850 et CP437, encodages des PC en MS-DOS, le é et le è sont
respectivement aux positions 82 et 8A. C'est-à-dire qu'on a deux
caractères dont la position 8x se retrouve codée D0 9x avec le même
x (respectivement x=2 et x=A).
Voir ici : <http://www.miakinen.net/vrac/charsets/?o6=CP437&or=5>.

Ça colle donc avec les nouveaux codes trouvés, sauf â mais cette lettre
apparaît après une majuscule, on peut donc envisager une faute de frappe
sur la touche ^ : Shift + ^ qui donne ¨.
Ainsi les caractères yx en DOS se retrouvent codés D0(y+1)x...

En effet.
Avec l'hypothèse de la faute de frappe sur Shift + ^ ça donne :
é 82 -> D0 92
ä 84 -> D0 94
ç 87 -> D0 97
è 8A -> D0 9A
î 8C -> D0 9C
ô 93 -> D0 A3
--
Olivier Miakinen
1 2 3