Bonjour à tous,
Je travaille en UTF-8 et je travaille avec des fichiers en UTF-8
ne fonctionne pas. Le retour chariot est toujours présent.Code:
1
2 line = line.rstrip(" \n")
Comment puis-je ôter le retour-chariot en UTF-8 ?
Merci d'avance.
Version imprimable
Bonjour à tous,
Je travaille en UTF-8 et je travaille avec des fichiers en UTF-8
ne fonctionne pas. Le retour chariot est toujours présent.Code:
1
2 line = line.rstrip(" \n")
Comment puis-je ôter le retour-chariot en UTF-8 ?
Merci d'avance.
Line est bien une chaine de caractères? Pourquoi ne passe tu pas ta ligne utf en unicode, va voir du coté de la Faq je crois qu'il y a ce qu'il faut.
PS: C'est quoi la ligne a mettre en debut de code pour coder en utf que j'essaie de mon coté...
;)
Code:
1
2
3
4 >>> line="coucou \n" >>> line.rstrip("\n") 'coucou '
Euh T'ecouterai pas R+ toi?Citation:
En UTF8, le retour chariot est le charactère "\u240D"
line est une ligne lue dans un fichier codé en UTF-8.
R+ ????Code:
1
2
3
4 fichier = open(filename,"r") line = fichier.readline() while line != "" : line = line.rstrip("\n")
Je ne comprends pas. :?
Pour R+ c'est par rapport a ton pseudo, c'est aussi presque le titre d'une chanson d'un groupe allemand que j'ecoutais lorsque j'était jeune.
:lol:
Je te remets au cas ou tu n'aurai pas vu!Citation:
En UTF8, le retour chariot est le charactère "\u240D"
Je viens d'essayer, mais ça ne fait aucune différence.
J'ai aussi essayé:
mais j'obtiens alors :Code:
1
2 line = line.rstrip(u"\n")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 32: ordinal not in range(128)
Et bien ecoute je ne comprends pas le probleme.
J'ai créer un fichier sous notepad sauvegarde en UTF8.
Je l'ouvre et le lit, et je supprime le caractère "\n" sans probleme.
Je t'ai mis le text code en utf8 en piece jointe.Code:
1
2
3
4
5
6
7 >>> f=open("c:\\text.txt",'r') >>> f.readlines() ['\xef\xbb\xbfCoucou ca va?\n', 'Moi oui!'] >>> ligne =f.readlines() >>> line=ligne[0] >>> line.rstrip("\n") '\xef\xbb\xbfCoucou ca va?'
Je viens de faire le test, et je commence à comprendre d'où vient le problème.
En suivant ta méthode, j'obtiens :
Il reste '\r'Code:
1
2'\xef\xbb\xbfCoucou ca va?\r'
En fait, je programme habituellement sous Windows (en codage iso-8859-15).
Mais là je programme sous Linux pour adapter mon logiciel à cet OS, et je suis obligé d'utiliser cette saleté d'UTF-8, car wxPython ne fonctionne pas autrement.
Donc, il semble que quand, sous Linux, je récupère mes fichiers faits sous Windows et que je les convertisse en UTF-8, il reste des spécificités windowsiennes dans le codage de mes fichiers....
As tu essayer de créer un fichier Texte UTF 8 sous linux avec Gedit par exemple?
Tu sais j'ai eu l'exemple des probleme windowsien avec une image GIF, pour mon tutoriel sur le traitement d'image... Mspaint rend une forme Batarde de GIF... donc pas compatible avec tout.
Il faudrait que tu edite tes textes avec un note pad non proprietaire de windows.
Oui, j'utilise habituellement Notepad++ ou PSPad qui sont tous les deux très bien. Il m'a juste suffi d'enregistrer en UTF-8 codé UNIX, et ça fonctionne maintenant.
Merci pour l'aide.