2016-03-31 23 views
0

Bir tweet metni alan basit bir python betiğim var.Python'da tweet'lerden emojileri çözme 3

Ancak, emojiler bir şekilde kodlanmışlardır, bu nedenle çıkışa bu şekilde benziyorlar \ xf0 \ x9f \ x90 \ xa3.

Bunun, bu çıktıdan hangi emoji olduğunu öğrenmenin bir yolu var mı?

+0

'import unicodedata; print (unicodedata.name (b "\ xf0 \ x9f \ x90 \ xa3" .decode ('utf-8'))) '' CHATCH HATCHING 'yazıyor. Istek tam olarak ne yaptığını bilmeden istemek zor ... – mata

+0

@mata Bir tweet metnini alıyorum ve emojiler '\ xf0 \ x9f \ x90 \ xa3' olarak görüntüleniyor gibi görünüyor, bu yüzden Aslında hangi emojiyi bilmek istiyor ... – Aaron

cevap

1

Oranlar UTF-8 kodludur (verilerin geri kalanıyla birlikte, ASCII metninin ASCII ve UTF-8'de aynı şekilde işlenmesini sağlar).

varsa bir bytesb'\xf0\x9f\x90\xa3' gibi, sadece yaparım:

b = b'\xf0\x9f\x90\xa3' 
txt = b.decode('utf-8') 

Bir str olarak gelmişse, bu latin-1 olarak yanlış bir kod çözme veya başka kod sayfası yüzden sadece geri al, muhtemelen o ve UTF-8 ile yeniden yap: 0x1f423 bir ordinal alır

b = '\xf0\x9f\x90\xa3' 
txt = b.encode('latin-1').decode('utf-8') 
# If it's not latin-1, could be sys.getdefaultencoding() 

(bilgisayarım bunu gösteremez, ya da ben buradan eklemiş olur), çoğu için doğru aralıkta olan emojisi. As noted in the comments, unicodedata, karakteri HATCHING CHICK olarak bildirir.