#python Mam dany z zewnątrz taki string: "najbliĚźszym", w jaki sposób mogę go zamienić na "najbliższym" i wyświetlić użytkownikowi? Próbowałem się bawić encode i decode, ale nic z tego nie wyszło...
@Pipcieo: Mam po prostu taki string, sprawa wygląda tak, że to część xmla, którego kiedyś skopiowałem z pewnej strony, ta strona już padła, a ja mam właściwie tylko plaintext tego xmla z takimi właśnie krzaczkami. I parsowanie się sypie, gdy trafi na coś takiego, mimo że encoding ustawione jest na UTF-8 @raffish: String z u na przodzie zwraca to samo.
@niezielony: Ale ten string raczej nie ma wartości "najbliższym"
In [8]: [ i for i in "najbliĚźszym"] Out[8]: ['n', 'a', 'j', 'b', 'l', 'i', '\xc3', '\x84', '\xc5', '\xa1', '\xc4', '\xb9', '\xc5', '\x9f', 's', 'z', 'y', 'm'] Dla przykładu Znak Ä w unikodzie to '\xc3\x84' natomiast ż to '\xc5\xbc'
Mam dany z zewnątrz taki string: "najbliĚźszym", w jaki sposób mogę go zamienić na "najbliższym" i wyświetlić użytkownikowi? Próbowałem się bawić encode i decode, ale nic z tego nie wyszło...
Spróbuj napisac: u''
Może to pomoze: https://pl.python.org/forum/index.php?topic=3163.0
@raffish: String z u na przodzie zwraca to samo.
Ale ten string raczej nie ma wartości "najbliższym"
In [8]: [ i for i in "najbliĚźszym"]
Out[8]:
['n',
'a',
'j',
'b',
'l',
'i',
'\xc3',
'\x84',
'\xc5',
'\xa1',
'\xc4',
'\xb9',
'\xc5',
'\x9f',
's',
'z',
'y',
'm']
Dla przykładu
Znak Ä w unikodzie to '\xc3\x84' natomiast ż to '\xc5\xbc'
Pokaż w jaki sposób wczytałeś tego stringa.
body = "najbliĚźszym"
print(body)
print drukuje mi to samo.
Tutaj dłuższa próbka:
Próbowałem tak:
body = "najbliĚźszym"
print(body)
print(body.encode('windows-1250').decode('utf-8'))
Wynik to:
Czyli nadal źle
Natomiast jeśli zamiast windows-1250 użyję ISO 8859-2
to drukuje
Czyli nadal nie to, ktoś ma jeszcze jakieś pomysły?
i bez decode()
Natomiast windows-1257 rzuca
https://gist.github.com/anonymous/7749ab028c4165afeaae
>>> print "najbliĚźszym".decode('utf16')
慮扪楬蓃ꇅ맄鿅穳浹