python2的unicode(v,errors ='ignore')的确切python3等价物是啥?

Posted

技术标签:

【中文标题】python2的unicode(v,errors =\'ignore\')的确切python3等价物是啥?【英文标题】:What is the exact python3 equivalent of python2's unicode(v, errors='ignore')?python2的unicode(v,errors ='ignore')的确切python3等价物是什么? 【发布时间】:2021-08-06 20:46:46 【问题描述】:

python2 的 unicode(v, errors='ignore') 的确切 python3 等价物是什么?

注意:

    v 是任何字符串(例如six.string_typeserrors='ignore' 很重要

谢谢!

【问题讨论】:

【参考方案1】:

如果v 已经是six.string_types 的一部分,则v 的唯一选项是str。 Python 3 str 等同于 Python 2 unicode,因此这种转换是多余的,因为您只是将 str 转换为 str

如果您想将bytes不是six.string_types 的一部分)转换为str,那么您需要b.decode("utf-8", errors="ignore"),或者只是str(b, errors = "ignore")

【讨论】:

感谢您在第 2 段中纠正我的理解 - 有效!

以上是关于python2的unicode(v,errors ='ignore')的确切python3等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

#python2和python3的区别汇总。

celery:Unrecoverable error: AttributeError("'unicode' object has no attribute 'iter

python2与python3的区别

Python2 处理 Unicode 字符串的规则

python2模块中unicode中的转义控制字符

python2.7 处理unicode和ascii字符串混用问题