Kezdőoldal » Számítástechnika » Programozás » Python, karakterkódolás, Windows?

Ozmium42 kérdése:

Python, karakterkódolás, Windows?

Figyelt kérdés
Egy egyszerű szöveges fájlt nem tudok bekérni, ha Windows (XP) alatt csinálom, és ékezetek lennének benne. Automatikusan átíródik valami cp852-re, onnan pedig nem tudom visszafejteni.
2015. dec. 25. 22:59
 1/2 anonim válasza:

Heyho!


Nem tudom pontosan min akadtál fenn, én a következő tesztet hajtottam végre:


szöveges fájl.txt, benne:


Random szöveges fájl ékezetes karakterekkel.

árvíztűrő tükörfűrógép

ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP


Python 3:


f = open(r'C:\Users\gabor\Documents\szöveges fájl.txt', 'r')

for line in f:

print(line)


Az eredmény:


[link]


Üdv,

Gábor

2015. dec. 28. 09:07
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

Üdv!


Már megoldottam, de két napig tartott. A Windows alapértelmezés szerint cp1250 szerint kódolta a szöveges fájlt, erre rá kellett jönni. Utána nem tudom, mit csinált vele a python (2. verzió, nem 3) bekéréskor, de a .decode("cp1520") működött végül optimálisan. Arra is rájöttem közben, hogy utf-8-ba is át lehet konvertálni, de printelni nem, mert lesz az elején bájtsorrendet jelölő láthatatlan karakter, amit nem lehet kiíratni, de ha ezt elhagyom úgy, hogy string[1:], akkor ez is jó megoldás. Valami ilyesmit sikerült kihámoznom az esetből.

2015. dec. 29. 12:32

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!