在 Python 的控制台中显示 Emoji

2023-03-13Python开发问题
80

本文介绍了在 Python 的控制台中显示 Emoji的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

I wonder if it's possible to print Emojis in a Python 3 console on Windows. Actually, to avoid the following error:

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'))

也就是说,如预期的那样,打印正确的character:U0001f44d,没有任何exception.

which is, as expected, printing the right character:U0001f44d without any exception.

推荐答案

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

The Windows command prompt has a lot of limitations with regards to Unicode characters, especially those outside the basic multilingual plane(BMP, or U+0000 to U+FFFF). The command prompt defaults to a legacy OEM encoding (cp437 on US Windows) and has limited font support for characters outside the localized encoding. Find a Python IDE that has good support for UTF-8.

查看各种 Unicode 字符的一种快速而简单的方法是写入文件并利用浏览器:

One quick-and-dirty way to see a wide variety of Unicode characters is to write to a file and leverage the browser:

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

这显示 在我的 Windows 10 系统上的最新 Chrome 浏览器中.

This displays in the latest Chrome browser on my Windows 10 system.

这篇关于在 Python 的控制台中显示 Emoji的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10

按10分钟间隔对 pandas 数据帧进行分组
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)...
2024-08-22 Python开发问题
11