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_types
)
errors='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等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章
celery:Unrecoverable error: AttributeError("'unicode' object has no attribute 'iter