2024-09-28 21:02:35 发布
网友
我正在尝试用python2.7打印一个干净的棋盘,它使用诸如♟. 在
我尝试过简单地替换字符串("g".replace(g, ♟))中的值,但它被改为'\xe2\x80\xa6'。如果我把这个字符放到一个在线的ASCII转换器中,它会返回“226153159”
"g".replace(g, ♟)
'\xe2\x80\xa6'
♟是unicode字符。在python2中,str包含ascii字符串或二进制数据,而unicode包含unicode字符串。当您"♟"时,您将得到unicode字符串的二进制编码版本。编码是什么取决于您用来输入它的编辑器/控制台。使用UTF-8对字符串进行编码是很常见的(我认为是首选的),但是您可能会发现Windows编辑器更喜欢使用little-endian UTF-16字符串。在
♟
str
unicode
"♟"
不管是哪种方式,您都希望尽可能多地编写unicode字符串。您可以在str和unicode之间进行一些混合和匹配,但是要确保ASCII代码集之外的任何内容从一开始就是unicode。在
Python可以在文件前面接受编码提示。所以,假设您使用UTF-8编辑器,您可以
!@/usr/bin/env python # -*- coding: utf-8 -*- chess_piece = u"♟" print u"g".replace(u"g", chess_piece)
♟
是unicode字符。在python2中,str
包含ascii字符串或二进制数据,而unicode
包含unicode字符串。当您"♟"
时,您将得到unicode字符串的二进制编码版本。编码是什么取决于您用来输入它的编辑器/控制台。使用UTF-8对字符串进行编码是很常见的(我认为是首选的),但是您可能会发现Windows编辑器更喜欢使用little-endian UTF-16字符串。在不管是哪种方式,您都希望尽可能多地编写unicode字符串。您可以在
str
和unicode
之间进行一些混合和匹配,但是要确保ASCII代码集之外的任何内容从一开始就是unicode。在Python可以在文件前面接受编码提示。所以,假设您使用UTF-8编辑器,您可以
相关问题 更多 >
编程相关推荐