encoding encoding ...

Top Page

Reply to this message
Author: gedeon.legaut
Date:  
To: guilde
Subject: encoding encoding ...
Bonjour,

J'ai un petit souci d'encodage que je n'arrive pas à résoudre :

<programme python>
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def repr_bin2(s, coding) :
    return ' '.join('{0:08b}'.format(c) for c in s.encode(coding))
s = 'é'
print(s.encode('utf-8'))
print(repr_bin2(s, 'utf8'))
binaire = repr_bin2(s, 'utf8')
print(binaire_to_utf8 (binaire))
</programme python>
renvoie
b'\xc3\xa9'
1100001110101001
é # là je m'attendais à é


J'ai utilisé emacs et ai exécuté le programme dans le terminal (python fichier.py).

En cherchant du côté de locale :
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
Est-ce normal que LANGUAGE et LC_ALL soient vides ?

Est-ce que cela peut venir d'Emacs ? Il n'y a pas un encodage utf8, mais toute une floppée :
utf-8-hfs     utf-8-hfs-dos
utf-8-hfs-mac     utf-8-hfs-unix
utf-8-mac     utf-8-unix
utf-8-with-signature     utf-8-with-signature-dos
utf-8-with-signature-mac     utf-8-with-signature-unix


Dans la barre d'info en bas d'Emacs, j'ai bien un U qui m'indique que c'est codé en utf8. Quand j'essaye ALT-x revert-buffer-with-coding-system et que je choisis une des différentes valeurs d'utf8 ci-dessus, cela ne change rien.

Une idée ?
Merci
Gédéon Légaut