: Latin-1 kodlanıyor çalışmak (Açıkçası UTF-8 onları açılamadı)Python3: için Latince-1 dönüştürün UTF-8 Kodum aşağıdaki gibi görünür
for file in glob.iglob(os.path.join(dir, '*.txt')):
print(file)
with codecs.open(file,encoding='latin-1') as f:
infile = f.read()
with codecs.open('test.txt',mode='w',encoding='utf-8') as f:
f.write(infile)
dosyalar . Ama ortaya çıkan dosyaları utf-8'e yazmak istiyorum.
Ama bu:
<Trans audio_filename="VALE_M11_070.MP3" xml:lang="español">
<Datos clave_texto=" VALE_M11_070" tipo_texto="entrevista_semidirigida">
<Corpus corpus="PRESEEA" subcorpus="ESESUMA" ciudad="Valencia" pais="España"/>
yerine bu (gedit olarak) haline gelir: Ben Terminal üzerinde baskı varsa
<Trans audio_filename="VALE_M11_070.MP3" xml:lang="espa뇃漀氀∀㸀ഀ㰀䐀愀琀`漀猀 挀氀愀瘀攀开琀攀砀琀漀㴀∀ 嘀䄀䰀䔀开䴀开 㜀
, normal görünür.
Daha da kafa karıştırıcı Ben LibreOffice Writer ile sonuçlanan dosyayı açtığınızda ne alıyorum:
<#T#r#a#n#s# (and so on)
Peki nasıl düzgün bir utf-8 dizeye bir latin 1 dize dönüştürebilirim? Python2'de kolay, ama python3'te bana kafa karıştırıcı geliyor.
#infile = bytes(infile,'utf-8').decode('utf-8')
#infile = infile.encode('utf-8').decode('utf-8')
#infile = bytes(infile,'utf-8').decode('utf-8')
Ama nedense hep aynı garip çıkışı ile sona:
farklı kombinasyonlarda zaten bu çalıştı.
Şimdiden teşekkürler!
Düzenleme: Bu soru Python 3, Python 2.7 ile ilgili değil, yorumda bağlantılı sorulardan farklıdır.
İlk şifresini çözmek dize, daha sonra 'utf-8' olarak yeniden kodlayın? –
http://stackoverflow.com/questions/6539881/python-converting-from-iso-8859-1-latin1-to-utf-8 – user3030010
http://stackoverflow.com/questions/14443760/python- olası kopyası converting-latin1-to-utf8 –