带UTF16字符的Python 3数组

2024-09-30 03:23:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用emojis的unicode值创建了两个带有正emojis和负emojis的数组:

positive = [
u'\U0001F600',
u'\U0001F601',
u'\U0001F602',
u'\U0001F923',
u'\U0001F603',
u'\U0001F604',
u'\U0001F605',
u'\U0001F606',
u'\U0001F609',
u'\U0001F60A',
u'\U0001F60B',
u'\U0001F60E',
u'\U0001F60D',
u'\U0001F618',
u'\U0001F617',
u'\U0001F619',
u'\U0001F61A',
u'\U0000263A',
u'\U0001F642',
u'\U0001F917',
u'\U0001F60F',
u'\U0001F60C',
u'\U0001F61B',
u'\U0001F61C',
u'\U0001F61D',
u'\U0001F924',
u'\U0001F643',
u'\U0001F62C']

negative = [
u'\U0001F610',
u'\U0001F611',
u'\U0001F636',
u'\U0001F644',
u'\U0001F60F',
u'\U0001F623',
u'\U0001F625',
u'\U0001F62E',
u'\U0001F910',
u'\U0001F62F',
u'\U0001F62A',
u'\U0001F62B',
u'\U0001F634',
u'\U0001F612',
u'\U0001F613',
u'\U0001F614',
u'\U0001F615',
u'\U0001F641',
u'\U0001F616',
u'\U0001F61E',
u'\U0001F61F',
u'\U0001F624',
u'\U0001F622',
u'\U0001F62D',
u'\U0001F626',
u'\U0001F627',
u'\U0001F628',
u'\U0001F629',
u'\U0001F630',
u'\U0001F631',
u'\U0001F635',
u'\U0001F621',
u'\U0001F620',
u'\U0001F637',
u'\U0001F912',
u'\U0001F915',
u'\U0001F922',
u'\U0001F927']

但是当我打印肯定的[0]时,例如,我得到的是一个奇怪的字符而不是表情符号:

我正在使用amazonlinux和python-3.4开发EC2机器。 同样的代码在我的Macbook上运行。你知道吗


Tags: unicode数组emojispositiveu0001f600u0001f604u0001f601u0001f602
3条回答

问题是我在screen下运行

这个问题不是Python的问题。Mac支持终端中可以打印这些unicode字符的字体。你知道吗

在您使用的情况下不支持这些相同的字体。你知道吗

如果所讨论的设备支持这些unicode值,它们将正确打印。你知道吗

我在Ubuntu上测试了一个标准macosssh终端,它的工作原理和原生Mac一样。你知道吗

你好Daniel Haviv

如果可行,试试这个:

print(positive[0].encode('utf-8'))

你可以在这里阅读更多Python 2.x’s Unicode Support

更新:以前的解决方案不适用于您尝试以下操作:

import sys
import codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout)

print(positive[0])

我从Setting the correct encoding when piping stdout in Python找到了解决办法

相关问题 更多 >

    热门问题