首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HarfBuzz language_from_string Python内省方法不接受str

HarfBuzz language_from_string Python内省方法不接受str
EN

Stack Overflow用户
提问于 2019-06-07 22:00:20
回答 1查看 67关注 0票数 1

我刚刚开始使用HarfBuzz,并开始使用GObject内省接口来探索它的API。到目前为止,一切都很简单,但我对language_from_string有点困惑,它有以下docstring:

language_from_string(str:list) -> HarfBuzz.language_t

例如,在IPython,我要:

代码语言:javascript
复制
from gi.repository import HarfBuzz

?HarfBuzz.language_from_string

在vanilla中,可以将最后一行替换为:print(HarfBuzz.language_from_string.__doc__) (或类似的)。

如果我用字符串调用此方法,例如:

代码语言:javascript
复制
HarfBuzz.language_from_string('en')

我得到了

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Item 0: Must be number, not str

返回,而如果我首先转换为代码点列表:

代码语言:javascript
复制
en = HarfBuzz.language_from_string(list(map(ord, 'en')))

错误消失了,我得到了一些有用的东西。例如,我可以:

代码语言:javascript
复制
HarfBuzz.language_to_string(en)

我得到了期望的en,用字符串表示。

HarfBuzz 第91号问题是关于这个方法的,但似乎与此无关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 21:39:50

您必须像HarfBuzz.language_from_string(b'en')一样在python3中调用它(字符串,但前缀为b),因为在py3中,字符串不再仅仅是字节序列,与py2不同。

您知道在python3中获得字符串的实际python表示的gi吗?如果是这样的话,请让我知道,否则,这是预期的从HarfBuzz方面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56501666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档