控制台不显示4字节utf-8



我使用的是Ubuntu。我的控制台(使用Python或bash)不打印4字节的utf8字符,只有3字节或更少。

示例(bash):

eran@eran-MS-7788:~/Dropbox/help$ echo -e "xeex8cxb0"
# This prints the v sign
eran@eran-MS-7788:~/Dropbox/help$ echo -e "xf0x9fx8fx80"
# This should print the basketball sign but does not print so

我从Python控制台得到了同样的结果。

有什么办法解决这个问题吗?

大多数所谓的Unicode字体只实现Unicode BMP(基本多语言平面)中存在的字符-从U+0000U+FFFF,所有这些都可以使用UTF-8仅使用3个字节来表示。

很少有字体可以实现BMP之外的字符:即从U+010000U+1FFFFF(在UTF-8中使用4个字节进行编码),我认为您的Linux控制台或终端也不例外。正因为如此,你们不太可能看到你们所期待的角色。随着时间的推移,对BMP以外的字符的支持可能会变得更好,但这可能需要很长时间。你可以在这里阅读更多关于这方面的信息。

最新更新