Python中用于非ASCII字符的chr函数

10
我正在尝试在无法使用类似于str.startswith的情况下(如果您对此感到好奇,我正在查询应用程序引擎数据存储),通过一组字符串实现搜索。我想查找每个具有特定前缀的字符串,比如说'py'。
我可以使用比较运算符来实现这个目标,因此我考虑按照以下方式实现。
#pseudo code
search = "py"
search_strings_where(s > search, s < chr(ord(search[0]) + 1)

"

chr(ord(search[0]) + 1) 应该是搜索查询的第一个字符后面按字典顺序排列的字符。

问题在于这样做行不通。例如,ord(u"‰") 返回 8240。但是将其放入 chr 中会引发错误。

"
ValueError: chr() arg not in range(256)

我该如何解决这个问题?
编辑 刚刚发现了unichr,正在检查是否有效。如果有效,我会写一个答案。
1个回答

23

也许可以使用unichr()函数,这个函数会起作用


在进一步浏览网页时,我发现了 unichr。谢谢你的回答。 - bigblind
1
@InbarRose 这个答案实际上提供了足够的信息,无需点击链接。OP说:“我知道chr是什么,那么对于Unicode来说等价的是什么?”一个单词的答案unichr就足够了。也许说明它是内置的会更有用,但即使它很短,它仍然是一个完整的答案。 - Jacklynn
@Jack Necro很厉害?这篇帖子已经两年了,我的评论是在他编辑之前发表的。你的观点是什么?这对答案有什么帮助?既然我注意到了这一点,我可以删除以前的评论 - 通常我会认为有人会将我的评论标记为“过时”,但我想这也可以。 - Inbar Rose

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接