为什么Python打印出一些表情符号而不是其他表情符号?

时间:2016-04-22 06:19:41

标签: python unicode printing dataframe character

我在Python 2.7 / Ubuntu 14中打印数据框:

from pandas import *
import math, numpy

print DataFrame(com).fillna(0)

提供了大量输出,如下所示:

enter image description here

我的问题是:为什么有些表情符号会正确显示而有些表情符号会显示为带有十六进制字符的矩形?

2 个答案:

答案 0 :(得分:2)

因为您没有包含这些字形的任何字体,或者由于某种原因,系统上的字体替换引擎决定不从另一种字体中提取字形。缺少的字符是在Unicode 7.0中添加的,因此系统中没有字体可能还没有字形。

答案 1 :(得分:1)

输出显示python已成功打印所有6个表情符号,但您的环境(字体)无法显示它们,即可以通过更新设置(选择不同的字体)修改问题而无需更改代码

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






注意:U+1F643 UPSIDE-DOWN FACEU+1F644 FACE WITH ROLLING EYES仅在Unicode 8.0标准(已发布:2015年6月17日)中引入 - 很可能大多数字体都不支持它们。您可以安装Glyphs above the Unicode Basic Multilingual Plane来查看字形。以下是我终端的样子:

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

在电话上:

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