Unicode (UTF-8) lendo e gravando em arquivos em Python

| | |

Estou tendo alguma falha cerebral em entender a leitura e escrita de texto em um arquivo (Python 2.4).

# A string, que tem um a-agute nela. 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 " 

Então eu digito Capitxc3xa1n no meu editor favorito, no arquivo f2.

Então:

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

O que não estou entendendo aqui? Claramente há alguma mágica vital (ou bom senso) que estou perdendo. O que se digita em arquivos de texto para obter conversões adequadas?

O que estou realmente falhando em grocar aqui é qual é o objetivo da representação UTF-8, se você não pode realmente fazer com que o Python reconhecê-lo, quando vem de fora. Talvez eu deva apenas despejar a string em JSON e usá-la, pois isso tem uma representação asciiable! Mais ao ponto, existe uma representação ASCII deste objeto Unicode que o Python reconhecerá e decodificará, ao chegar de um arquivo? Em caso afirmativo, como posso obtê-lo?

>>> print simplejson.dumps(ss) ""Capitu00e1n"" >>> imprimir >> 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