Nasıl python yorumlayıcısı yapmak doğru ASCII olmayan karakterler string işlemleri için ele?
Çok benzeyen bir dize var:
6Â 918Â 417Â 712
Bu dize kesmek için kesin şekilde Python anladığım kadarıyla () sadece bir dize değişkeni s
gelir . denir
s.replace('Â ', '')
Bu hile yapmak gerekir. Ama tabii ki non-ASCII karakter dosya blabla.py '\xc2'
kodlanmış olmadığını yakınıyor.
Ben oldukça farklı kodlamalar arasında geçiş yapmak için nasıl anlamak olabilir.
Burada kod var. gerçekten sadece yukarıdaki gibi aynı, ama şimdi ödeniyor. Dosyayı Not Defteri'nde UTF-8 olarak kaydedilir ve aşağıdaki Başlığı vardır:
#!/usr/bin/python2.4
# -*- coding: utf-8 -*-
Kod:
f = urllib.urlopen(url)
soup = BeautifulSoup(f)
s = soup.find('div', {'id':'main_count'})
#making a print 's' here goes well. it shows 6Â 918Â 417Â 712
s.replace('Â ','')
save_main_count(s)
s.replace
... daha fazla oluyor
CEVAP
def removeNonAscii(s): return "".join(filter(lambda x: ord(x)<128, s))
edit: benim ilk dürtü her zaman bir filtre kullanmaktır, ama jeneratör deyim daha hızlı ve daha kısa
def removeNonAscii(s): return "".join(i for i in s if ord(i)<128)
Bu UTF-8 ile çalışmak için kodlama multi-byte karakter tüm bayt en yüksek bit 1 olarak ayarlanmış çünkü) garantili olduğunu unutmayın.
Nasıl UNIX ASCII olmayan tüm karakterl...
Nasıl Python betiği tek başına HERHANG...
Nasıl ASCII olmayan karakterler bir di...
Nasıl Unicode olanları yerine string N...
Nasıl python yorumlayıcısı net konsol ...