Lecture et écriture Unicode (UTF-8) dans des fichiers en Python

| | |

J'ai une défaillance cérébrale dans la compréhension de la lecture et de l'écriture de texte dans un fichier (Python 2.4).

# La chaîne, qui contient un a-acute. ss = u "Capitxe1n" ss8 = ss.encode("utf8") repr(ss), repr(ss8) 

("u"Capitxe1n"", ""Capitxc3xa1n"")

print ss, ss8 print >> open("f1","w"), ss8 >>> file("f1").read( ) "Capitxc3xa1n " 

Je tape donc Capitxc3xa1n dans mon éditeur préféré, dans le fichier f2.

Ensuite :

>>>> open("f1").read() "Capitxc3xa1n " >>> open("f2").read() "Capitxc3xa1n " >> ;> open("f1").read().decode("utf8") u"Capitxe1n " >>> open("f2").read().decode("utf8") u"Capit xc3xa1n " 

Qu'est-ce que je ne comprends pas ici ? De toute évidence, il y a un peu de magie vitale (ou de bon sens) qui me manque. Que tape-t-on dans les fichiers texte pour obtenir des conversions appropriées ?

Ce que je n'arrive vraiment pas à comprendre ici, c'est quel est l'intérêt de la représentation UTF-8, si vous ne pouvez pas réellement faire en sorte que Python le reconnaître, quand il vient de l'extérieur. Peut-être que je devrais simplement vider la chaîne JSON et l'utiliser à la place, car cela a une représentation asciiable! Plus précisément, existe-t-il une représentation ASCII de cet objet Unicode que Python reconnaîtra et décodera en provenance d'un fichier ? Si oui, comment puis-je l'obtenir ?

>>> print simplejson.dumps(ss) ""Capitu00e1n"" >>> imprimer >> file("f3","w"), simplejson.dumps(ss) >>> simplejson.load(open("f3")) u"Capitxe1n" 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method