将python表情符号打印为unicode字符串

时间:2014-09-07 05:00:45

标签: python-2.7 unicode emoji

我一直在尝试输出作为' \ U0001f604'而不是笑脸,但它似乎不起作用。

我尝试使用repr(),但它给了我这个' \ xf0 \ x9f \ x98 \ x84'。目前它输出的笑脸不是我想要的。 encode(' unicode_escape')给我一个UnicodeDecodeError。

笑脸作为字符串传递给python中的类方法。即#34;我很高兴"

感谢是否有人可以提供帮助。

抱歉大笑脸。降价似乎在这里不起作用。

7 个答案:

答案 0 :(得分:18)

>>> print u'\U0001f604'.encode('unicode-escape')
\U0001f604

答案 1 :(得分:12)

我找到了问题的解决方案。

我写了以下代码:

#convert to unicode
teststring = unicode(teststring, 'utf-8')

#encode it with string escape
teststring = teststring.encode('unicode_escape')

答案 2 :(得分:6)

另一种解决方案是使用短名称here并使用字符串文字\N印刷它们

print('\N{grinning face with smiling eyes}')

答案 3 :(得分:5)

添加

# -*- coding: UTF-8 -*-

进入您的代码,您就可以打印Unicode字符

答案 4 :(得分:2)

如果这是出于调试目的,您可以使用%r作为格式说明符。

>>> print '%r' % u'\U0001f604'
u'\U0001f604'

答案 5 :(得分:0)

此代码可以帮助您了解如何简单地打印表情符号:

代码

class RecipesAdmin(admin.ModelAdmin):
    fieldsets = [
        ("Title/Description", {"fields": ["recipe_title", "recipe_ingredients"]}),
        ("Ingredients sequence", {"fields": ["sequence"]}),
        ("Recipe Sequence", {"fields": ["motor1", "motor2", "motor3", "motor4", "pump", "temp", "recipe_interval"]}),
        ("Photo and Create Date", {"fields": ["recipe_photo", "recipe_created"]})
    ]

    formfield_overrides = {
        models.TextField: {'widget': TinyMCE()}
    }

具有URL的字符串的输出

# -*- coding: UTF-8 -*-
import re

# string = 'Anything else that you wish to match, except URLs http://url.org'
string = 'Anything else that you wish to match'
matches = re.search(r'^(((?!http|https).)+)$', string)
if matches:
    print(matches.group(1)+ " is a match  ")
else: 
    print(' Sorry! No matches! Something is not right!')

没有URL的字符串输出

 Sorry! No matches! Something is not right!

答案 6 :(得分:0)

我试过了,效果很好

print(u'\U0001f604')

所以你会得到输出

<块引用>

?

所以只需将 u 放在字符串的开头。 希望能帮到你?