0% ont trouvé ce document utile (0 vote)
26 vues5 pages

Encodagepython 1734198139895

Le document traite des problèmes d'encodage en Python, en particulier les différences entre Python 2 et Python 3. Il souligne l'importance de l'encodage UTF-8 pour éviter les erreurs liées aux caractères non ASCII, et explique comment l'intégrer dans les programmes. Il mentionne également les types de chaînes de caractères en Python 2 et propose des solutions pour gérer les accents à l'aide du module unidecode.

Transféré par

aoudouteteck2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues5 pages

Encodagepython 1734198139895

Le document traite des problèmes d'encodage en Python, en particulier les différences entre Python 2 et Python 3. Il souligne l'importance de l'encodage UTF-8 pour éviter les erreurs liées aux caractères non ASCII, et explique comment l'intégrer dans les programmes. Il mentionne également les types de chaînes de caractères en Python 2 et propose des solutions pour gérer les accents à l'aide du module unidecode.

Transféré par

aoudouteteck2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Encodage python

Accueil › Python avancé › Encodage python

Différences python 2 / 3
Pip installe vos librairies

Encodage la bête noire des développeurs


Un jour ou l'autre vous tomberez sur une erreur d'encodage et vous y passerez des heures pour comprendre d'où vient le
problème

Exemple de problème d' encodage :

UnicodeEncodeError: 'ascii' codec can't encode character '\xe0' in position 49059: ordinal not in range(128)

Les problèmes d' encoding viennent du fait que l'informatique a plus ou moins été crée par des anglophones (ça commence par
Alan Turing ) et que dans cette langue il n'y pas d'accents alors que la langue française en regorge à foison! Et d'ailleurs d'autres
langues comme l'espagnol intègre des accents que nous ne possédons pas. Les encodages utilisés par nos amis anglophones ne
sont donc pas compatibles avec les notres et cela créer des erreurs.

UTF-8 la solution miracle


UTF-8 est un encodage universel qui a pour objectif de rénuir les caractères utilisés par toutes les langues. Il n'y a donc en
théorie plus de problèmes de communication si tous les programmes sont encodés avec de l' UTF8 . Idéalement il faudrait que
tout le monde intègre l'UTF8 par défaut, change l'ancien encodage par de l'UTF8 et non l'inverse.

Par défaut dans python 2.7 l'encoding est ASCII , il est donc nécessaire d'indiquer l'encodage UTF8 à chaque fois

Comment intégrer cet encodage dans nos programmes?

Pour cela il vous faudra indiquer dans l'entête l' encodage UTF-8 les lignes suivantes:

# -*- coding: utf-8 -*-

Il existe cette autre syntaxe pour indiquer un encodage :

# coding: utf-8

A noter que par défaut l'encoding est en utf-8 pour python 3.

L'encoding de votre fichier


Alors évidemment il faut de l'UTF8 partout et tout le temps: y compris dans l'encodage de votre fichier lors de son
enregistrement. En effet il est essentiel d'indiquer l'encodage dans l'entête de votre fichier mais il est encore plus import
d'enregistrer votre fichier en UTF8. Et cette action c'est votre éditeur de texte qui s'en charge.
Par exemple avec notre éditeur préféré - sublime text - vous pouvez choisir l'encodage dans File > Save with encoding .
Evidemment par défaut les fichiers sont enregistrés en UTF8 mais assurez-vous que c'est bien le cas en cas de bug.

String et Unicode (python 2 uniquement)


Il existe deux types de chaînes de caractères en python: les types string et les types unicode .
name = 'engel' # str
name = 'engel' # unicode

Il vous faudra toujours utiliser le version unicode.

La bonne nouvelle c'est que dans python 3 cette syntaxe va disparaitre vu que par défaut tout sera en unicode. Il est même
possible d'intégrer cette fonctionnalité dans python 2.7 en important le module suivant:

from __future__ import unicode_literals

Unidecode python 2 uniquement)


Parfois il n'y a pas de solution autre que de supprimer purement et simplement les accents. Vous pouvez utiliser le module
unidecode :

pip install unidecode

Et dans votre fichier:

from unidecode import unidecode

print unidecode("éllèç")

Résultat:

ellec

Différences python 2 / 3
Pip installe vos librairies

Python débutant
Présentation Python

Installer Python

Interpréteur python

IDE Editeurs python

Calculs et variables

Les listes

Les tuples

Les dictionnaires

Les fonctions

Les fonctions natives


Conditions if elif else

Boucle for / while

Les modules/packages

Les exceptions

Les compréhensions de liste

Programmation orientée objet

Les décorateurs

Les itérateurs/générateurs

Expressions régulières

Lire / Editer un fichier

PEP 8 / bonnes pratiques

Black formateur de code

Python avancé
Différences python 2 / 3

Encodage python

Pip installe vos librairies

Virtualenv

Debug

Python Path

Gestion fichiers et dossiers

Interface graphique tKinter

Graphiques scientifiques

Programmation asynchrone

XML et python

BeautifulSoup / HTML parser

Créer un exécutable

Dossier partagé / samba

FTP / SFTP

Fabric SSH

Envoyer un mail SMTP


Réseau / socket

Base de données

Créer un serveur web

Websocket & Crossbar

Générateur de site statique

Numba

Tests unitaires

Deep Learning IA

Deep Learning & PyTorch

Block Chain

Django
Présentation Django

Installer Django

Initialiser un projet Django

Créer une application Django

ORM Django

Login Django

Les champs des modèles

Interface admin Django

Queryset

Many to many relation

Les vues

Les formulaires

CSRF Token

Les middlewares

Templates Django

Context Processor

Signaux Django

Xadmin

Django select2
Crispy Forms

AngularJS et Django

Uploader un fichier en ajax

Django Rest Framework

Django déploiement

Raspberry Pi
Présentation Raspberry pi

Installer Raspbian

IP statique

Samba / partager un dossier

Lire vidéo 1080p

Installer VPN

Client torrent

Site
Contacter l'auteur

Mentions légales

Apprendre programmation cours python 3


Django internet web - Documentation débutant et expert
Version anglaise

Vous aimerez peut-être aussi