unicode()函数的python 2/3兼容替代方案是什么



是否有一种替代python 2 unicode()函数的方法,可以在同时使用python 2和3的代码中使用,并且肯定会在python 2中产生unicode输出?

  • python 3中不存在unicode()函数
  • six.u(u'xyz')在python 2中引发错误

我正在编写测试代码,我肯定想生成unicode输出,这样如果它与执行路径中的某个非unicode字符串组合在一起,它就会在测试中爆炸——例如

'stuff %s' % u'unistuff'

对于我看到的一般情况,它建议只使用str(),但在python 2中不产生unicode。

我想我可以:

if six.PY3:
    unicode = str

但肯定有一些官方支持的方式。

(很难在谷歌上搜索到这一点,因为所有的结果都是关于unicode字符串的,而不是unicode函数本身)。

根据文档(我建议阅读…),您需要six.text_type:

用于表示(Unicode)文本数据的类型。这是中的unicode()Python 2中的CCD_ 7。

相关内容

  • 没有找到相关文章

最新更新