[1]
def iso2UTF():
arqI = open(__file__)
textoI = arqI.read()
arqI.close()
textoU = unicode(textoI, "iso-8859-1")
arqU = open(__file__, "w")
arqU.write(repr(textoU))
arqU.close()
print "Convertido de iso-8859-1 para UTF-8."
def utf2Iso():
arqU = open(__file__)
textoU = arqU.read()
arqU.close()
textoI = textoU.encode("iso-8859-1")
arqI = open(__file__, "w")
arqI.write(repr(textoI))
arqI.close()
print "Convertido de UTF-8 para iso-8859-1."
Abraços e obrigado,
Cleverson
no def iso2UTF():
textoU = textol.decode('iso8859-1').encode('utf-8')
e no def UTF2iso():
textoU = textol.decode('utf-8').encode('iso8859-1')
no python 2 existem 2 tipos de string, a string "normal", que pode ter
encoding (utf-8, iso) e a string "unicode" que tem o encode "imbutido"
quando você faz o decode na string, vc transforma ela em um "unicode",
e quando você faz o encode do "unicode" ele vira string de novo.
nos arquivos você tem que escrever em string se quiser definir o
encode do texto.
2011/11/8 Cleverson Casarin Uliana <clc...@gmail.com>:
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
>
explicação perfeita e o código tb esta certo. só lembre de não chamar
uma variavel do que ela não o textoU não é unicode mais, é uma string
de bytes já no encoding de saida. Ah e eu renomearia as funções,
latin12utf8 e o contrário, ou o iso completo, porque tem um monte de
enconding iso e um monte de encoding utf. Agora, isso tudo é um
detalhe bobo, mas quando estiver escrevendo um programa grande eu
recomendo ser claro sempre.
--
Leonardo Santagada
[ ]s
Em 08/11/11, Cleverson Casarin Uliana<clc...@gmail.com> escreveu: