2013-07-15 32 views
0

我正在使用Ubuntu。我的控制檯(使用Python或bash)不打印4字節的utf8字符,只有3字節或更少。控制檯不顯示4個字節utf-8

例(慶典):

[email protected]:~/Dropbox/help$ echo -e "\xee\x8c\xb0" 
# This prints the v sign 
[email protected]:~/Dropbox/help$ echo -e "\xf0\x9f\x8f\x80" 
# This should print the basketball sign but does not print so 

我從Python的控制檯一樣。

有什麼辦法解決這個問題?

回答

0

大多數所謂的Unicode字體只實現Unicode BMP(基本多字形平面)中的字符 - 從U+0000U+FFFF,這些字符都可以使用UTF-8僅使用3個字節表示。

實現超出BMP的字符的字體很少:即從U+010000U+1FFFFF(使用UTF-8中的4個字節編碼),我認爲您的Linux控制檯或終端也不例外。正因爲如此,你不可能看到你期望的角色。隨着時間的推移,對BMP以外的角色的支持可能會變得更好,但這可能需要很長時間。你可以閱讀更多關於這個here

+0

感謝您的迴應。 – eran