python - 在 Python 的控制台中显示表情符号

标签 python console char codec emoji

我想知道是否可以在 Windows 的 Python 3 控制台中打印表情符号。其实是为了避免下面的错误:

codec can't encode character '\U0001f44d' in position 10: character maps to  
<undefined>

我用过:

import emoji as moji
print(moji.emojize('Python is :thumbsup:', use_aliases=True).encode('unicode-
escape'))

如预期,打印正确的字符:U0001f44d,没有任何异常

最佳答案

Windows 命令提示符对 Unicode 字符有很多限制,尤其是基本多语言平面之外的字符(BMP,或 U+0000 到 U+FFFF)。命令提示符默认为旧版 OEM 编码(美国 Windows 上的 cp437),并且对本地化编码之外的字符的字体支持有限。找一个对 UTF-8 有良好支持的 Python IDE。

查看各种 Unicode 字符的一种快捷方式是写入文件并利用浏览器:

import os
with open('test.htm','w',encoding='utf-8-sig') as f:
    f.write('\U0001f44d')
os.startfile('test.htm')

这显示 thumbs up在我的 Windows 10 系统上使用最新的 Chrome 浏览器。

关于python - 在 Python 的控制台中显示表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446784/

相关文章:

python - 在 python 下的 webdriver 2.4 中,用于 Select 对象的正确导入语句是什么?

python - 在不运行Python包的情况下检查它的内容?

cocoa - 从 cocoa/foundation 工具控制台读取输入?

c - 如何将 fgets 字符串结果存储到 char 数组中?

python - 箱形图与箱形图有何不同?

python - Selenium 跟随元素python

delphi - 为什么我在控制台打印 PChar 时会出现问号?

ios - 在 OS X El Capitan 上通过 cocoapods 安装 pod 时出错

linux - `echo` (shell bash) 发送整数值,而不仅仅是字符和字符串。是否可以?

java - 如何正确处理非英文字符?