█个用python索引的字符串



我试图在一个类似于myString = "███ ███ J ██"的字符串中获得'J'的索引,所以我使用myString.find('J'),但它返回一个非常高的值,如果我用'M'或字母表的另一个字符替换'█',我得到一个较低的值。我真的不明白这是什么原因。

尝试myString = u"███ ███ J ██"。这将使其成为Unicode字符串,而不是python 2。

如果您正在从文件或类文件对象中读取它,则不执行file.read(),执行file.read().encode('utf-8-sig')

检查编码运行:python -c 'import sys; print(sys.getdefaultencoding())'

适用于Python 2。输出是ascii,这是您的程序的默认编码。为了使用一些非ascii字符,开发人员预测了unicode()类型。你自己看吧。只需创建一个变量myString = u"███ ███ J ██",并遵循它的.find('J')方法。这个u前缀告诉解释器它处理unicode编码的字符串。然后,您可以像使用普通str一样使用该变量。

我在一些应该写UTF-8的地方使用了Unicode。如果你想的话,可以看看这个答案。

Unicode是Python 3中的默认编码。

检查您正在使用的控制台/ssh客户端的设置。设置为UTF-8

相关内容

  • 没有找到相关文章

最新更新