如何打印♟;用python

如何打印♟;用python,python,ascii,non-ascii-characters,Python,Ascii,Non Ascii Characters,我试图在Python2.7中打印一个干净的棋盘,使用诸如♟. 我尝试过简单地替换字符串中的一个值(“g”),♟))但它被更改为'\xe2\x80\xa6'。如果我将字符放入在线ASCII转换器,它将返回“226 153 159”♟是一个unicode字符。在python 2中,str保存ascii字符串或二进制数据,而unicode保存unicode字符串。如果执行“♟"unicode字符串的二进制编码版本。编码方式取决于用于键入该字符串的编辑器/控制台。使用UTF-8编码字符串是常见的(我认为

我试图在Python2.7中打印一个干净的棋盘,使用诸如♟.


我尝试过简单地替换字符串中的一个值(
“g”),♟))但它被更改为
'\xe2\x80\xa6'
。如果我将字符放入在线ASCII转换器,它将返回“226 153 159”

是一个unicode字符。在python 2中,
str
保存ascii字符串或二进制数据,而
unicode
保存unicode字符串。如果执行
“♟"
unicode字符串的二进制编码版本。编码方式取决于用于键入该字符串的编辑器/控制台。使用UTF-8编码字符串是常见的(我认为是首选),但您可能会发现Windows编辑器更喜欢小端UTF-16字符串

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

Python可以在文件的前面接受编码提示

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

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

是一个unicode字符。在python 2中,
str
保存ascii字符串或二进制数据,而
unicode
保存unicode字符串。如果执行
“♟“
您得到的是unicode字符串的二进制编码版本。这种编码方式取决于您用来键入它的编辑器/控制台。使用UTF-8对字符串进行编码是常见的(我认为是首选),但您可能会发现Windows编辑器更喜欢小尾端UTF-16字符串

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

Python可以在文件的前面接受编码提示

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

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

为什么要将utf-8放入ascii转换器?我只是想看看它到底输出了什么。可能是有用的东西,但我认为不是。只需使用
print u'♟'它不是utf-8字符,而是unicode字符。在python 2中,如果要这样做,您希望在程序中尽可能多地使用unicode字符串。例如,
打印u“g”。替换(u“g”,u”♟")
.utf-8是以二进制形式表示unicode文本的事实上的标准。如果您必须将文本保存为文件,或通过internet将字符串作为数据发送,则应使用utf-8。如果您仅在单个python脚本中使用字符串,则不必担心这一点。在python 3中,所有字符串都是unicode,这在你必须处理像这样的字符,或者不是英语的文本。你为什么要把utf-8放进ascii转换器?我只是想看看它到底输出了什么。可能有些有用的东西,但我认为不是。只要使用
打印你就行了♟'它不是utf-8字符,而是unicode字符。在python 2中,如果要这样做,您希望在程序中尽可能多地使用unicode字符串。例如,
打印u“g”。替换(u“g”,u”♟")
.utf-8是以二进制形式表示unicode文本的事实上的标准。如果您必须将文本保存为文件,或通过internet将字符串作为数据发送,则应使用utf-8。如果您仅在单个python脚本中使用字符串,则不必担心这一点。在python 3中,所有字符串都是unicode,这在你必须处理像这样的字符,或者不是英语的文本。