繁体   English   中英

如何在python中打印characters等字符

[英]How can I print characters like ♟ in python

我试图在python 2.7中打印一个干净的国际象棋棋盘,该棋盘使用诸如♟的独特字符。

我试过简单地替换字符串( "g".replace(g, ♟) )中的值,但是将其更改为'\\xe2\\x80\\xa6' 如果我将字符放入在线ASCII转换器中,它将返回“ 226153159”

是Unicode字符。 在python 2中, str保留ascii字符串或二进制数据,而unicode保留unicode字符串。 当您执行"♟"您将获得unicode字符串的二进制编码版本。 编码的方式取决于您用来键入它的编辑器/控制台。它是使用UTF-8编码字符串的常见方法(我认为是首选),但是您可能会发现Windows编辑器偏爱小尾数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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM