我怎样才能打印像这样的字符♟ 在python中

2024-09-28 21:02:35 发布

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

我正在尝试用python2.7打印一个干净的棋盘,它使用诸如♟. 在

我尝试过简单地替换字符串("g".replace(g, ♟))中的值,但它被改为'\xe2\x80\xa6'。如果我把这个字符放到一个在线的ASCII转换器中,它会返回“226153159”


Tags: 字符串棋盘ascii字符replacexe2x80xa6
1条回答
网友
1楼 · 发布于 2024-09-28 21:02:35

是unicode字符。在python2中,str包含ascii字符串或二进制数据,而unicode包含unicode字符串。当您"♟"时,您将得到unicode字符串的二进制编码版本。编码是什么取决于您用来输入它的编辑器/控制台。使用UTF-8对字符串进行编码是很常见的(我认为是首选的),但是您可能会发现Windows编辑器更喜欢使用little-endian UTF-16字符串。在

不管是哪种方式,您都希望尽可能多地编写unicode字符串。您可以在strunicode之间进行一些混合和匹配,但是要确保ASCII代码集之外的任何内容从一开始就是unicode。在

Python可以在文件前面接受编码提示。所以,假设您使用UTF-8编辑器,您可以

!@/usr/bin/env python
# -*- coding: utf-8 -*-

chess_piece = u"♟"
print u"g".replace(u"g", chess_piece)

相关问题 更多 >