2016-04-22 15 views
1

Ich Drucken eines Datenrahmens in Python 2.7/Ubuntu 14:Warum druckt Python einige Emoticons, aber keine anderen?

from pandas import * 
import math, numpy 

print DataFrame(com).fillna(0) 

die viele Ausgabe wie folgt ergibt:

enter image description here

Meine Fragen: Warum zeigen einige Emoticons tun richtig während einige als Rechtecke mit Hex-Zeichen in ihnen angezeigt werden?

Antwort

2

Da Sie keine Schriftart haben, die diese Glyphen enthält, oder aus irgendeinem Grund hat die Font-Ersetzungs-Engine auf Ihrem System entschieden, die Glyphen nicht von einer anderen Schriftart zu ziehen. Die fehlenden Zeichen wurden in Unicode 7.0 hinzugefügt. Daher ist es wahrscheinlich, dass für eine Schriftart auf Ihrem System noch keine Zeichen vorhanden sind.

1

Die Ausgabe zeigt, dass python alle erfolgreich 6 Emoticons gedruckt haben, aber Ihre Umgebung (Schriftart) kann sie nicht angezeigt werden, dh, kann das Problem durch die Aktualisierung der Einstellungen ohne Änderung des Codes festgelegt werden (eine andere Schriftart wählen)

$ python2 -c "for codepoint in range(0x1f63f, 0x1f645): print unichr(codepoint)" 






Hinweis: U+1F643 UPSIDE-DOWN FACE und U+1F644 FACE WITH ROLLING EYES werden nur in Unicode 8.0-Standard eingeführt (Veröffentlicht: 2015 Juni 17) - es ist wahrscheinlich, dass die meisten Schriftarten sie nicht unterstützen. Sie könnten Glyphs above the Unicode Basic Multilingual Plane installieren, um die Glyphen zu sehen. Hier ist, wie es in meinem Terminal aussieht:

emoticons [U+1f63f-U+1f644] on Ubuntu

Am Telefon:

emoticons [U+1f63f-U+1f644] on iOS