【发布时间】:2015-08-24 23:22:43
【问题描述】:
我试图在类似于myString = "███ ███ J ██" 的字符串中获取“J”的索引,所以我使用myString.find('J'),但它返回一个非常高的值,如果我将“█”替换为“M”或字母表的另一个字符我得到一个较低的值。我真的不明白这是什么原因。
【问题讨论】:
-
我无法重现您的问题。
-
因为它不是 ASCII 字符。例如,如果 Python 对其内部字符串使用通用 UTF8 编码方案,则此字符将由 三个 单字节代码表示:
0xE2 0x96 0x88。 -
您使用的是哪个 python 版本?这可能是 python 2.x 中 unicode 处理的问题。
-
lower value=-1因为除了 J 没有其他字母 -
@Aereaux 是的。如果您将其声明为 Unicode 字符串,即 myString = u"███ ███ J ██",则 find 可以正常工作。
标签: python string unicode ascii python-2.x